Protokoły sieciowe SSH


Z Wikipedii, wolnej encyklopedii i z internetu.
SSH (ang. secure shell) jest to standard protokołów komunikacyjnych używanych w sieciach komputerowych TCP-IP, w architekturze klient-serwer, który jest następcą protokołu telnet, służącego do terminalowego łączenia się ze zdalnym komputerem.
SSH różni się od telnetu tym, że transfer wszelkich danych jest zaszyfrowany, oraz możliwe jest rozpoznawanie użytkownika na wiele różnych sposobów.
W szerszym znaczeniu SSH to wspólna nazwa dla całej rodziny protokołów, nie tylko terminalowych, lecz także służących do:
* przesyłania plików (SCP, SFTP)
* zdalnej kontroli zasobów
* tunelowania i wielu innych zastosowań.
Wspólną cechą wszystkich tych protokołów jest identyczna z ssh technika szyfrowania danych i rozpoznawania użytkownika.
Obecnie protokoły z rodziny SSH praktycznie wyparły wszystkie inne "bezpieczne" protokoły takie jak np: Rlogin i RSH.
Ogólne założenia protokołu SSH powstały w grupie roboczej IETF. Istnieją jego dwie wersje SSH1 i SSH2:
* wersja SSH2, umożliwia użycie dowolnych sposobów szyfrowania danych i czterech sposobów rozpoznawania użytkownika
* wersja SSH1 obsługuje tylko kilka sposobów szyfrowania i dwa sposoby rozpoznawania użytkownika - klucz RSA i zwykłe hasło.
Najczęściej współcześnie stosowany sposób szyfrowania to AES, choć nadal część serwerów używa szyfrowania Blowfish i technik z rodziny DES.
Rozpoznawanie użytkownika może się opierać:
* na pytaniu o hasło
* na kluczu (RSA lub DSA)
* z użyciem protokołu Kerberos.
Trzy najbardziej znane implementacje SSH to:
* zamknięty ssh.com
* oparty na licencji Open Source OpenSSH
* wersja protokołu stosowana w programie PuTTY.
Protokoły z rodziny SSH korzystają zwyczajowo z portu 22 protokołu TCP, choć w wielu zastosowaniach celowo stosuje się port o innym numerze w celu zwiększenia bezpieczeństwa serwera.
Sama rodzina SSH znajduje się w warstwie aplikacji modelu OSI, ale do połączenia korzysta z protokołu TCP.

do góry