Secure shell
Poczta elektroniczna
Protokół transmisji plików
Bezpieczna transmisja plików
WWW
WAP
Jak zmienić hasło?
Wstecz do strony głównej

SSH - bezpieczny protokół zdalnej sesji


   Protokół ssh jest jednym z tzw. protokołów zdalnej sesji. Oznacza to, że program korzystający z tego protokołu (często również o nazwie zawierającej skrót "ssh") umożliwia komunikację ze zdalnym komputerem. Przy pomocy ssh można więc poprzez sieć Internet zalogować się na się na odległym serwerze i pracować na nim tak, jak przy pomocy fizycznie podłączonego doń terminala. Inaczej jednak niż w przypadku protokołu telnet, protokół ssh zapewnia szyfrowanie całej transmisji (łącznie z nazwą konta oraz hasłem, transmitowanym podczas sekwencji logowania się na serwerze). Protokół ten udostępniony początkowo w wersji 1 szybko ewoluował i aktualnie częściej używana jest jego 2-ga wersja. Oprogramowanie sieciowe zainstalowane na serwerze platon potrafi połączyć się z programem - klientem ssh przy pomocy obu wersji protokołu. Oczywiście, ze względu na liczne udoskonalenia włączone do wersji 2 protokołu, zalecane jest posługiwanie się tą właśnie wersją.

   Zasada działania protokołu ssh opiera się na kryptograficznej technologii RSA i jest następująca: każdy z komputerów, na którym zainstalowane jest oprogramowanie ssh posiada parę kluczy: tzw. klucz prywatny dostępny tylko dla administratora komputera (i oczywiście oprogramowania systemowego obsługującego protokół ssh) oraz klucza publicznego dostępnego dla wszystkich użytkowników sieci. Klucze te są tak zbudowane, że informację zaszyfrowaną kluczem prywatnym można rozszyfrować tylko przy pomocy klucza publicznego i odwrotnie informację zaszyfrowaną kluczem publicznym można rozszyfrować wyłącznie przy pomocy klucza prywatnego. Klucze są więc ze sobą powiązane, ale żadnego z nich nie mozna odtworzyć na podstawie znajomości drugiego. Połączenie ssh inicjowane jest po stronie programu - klienta ssh. Klient łączy się z serwerem i otrzymuje od niego jego klucz publiczny. Klucz ten porównywany jest z zachowanym w wewnętrznej bazie danych klienta, z poprzednich połączeń. W przypadku wykrycia niezgodności kluczy wyświetlane jest specjalne ostrzeżenie umożliwiające przerwanie połączenia. Następnie, klient przekazuje serwerowi swój klucz publiczny, generuje losową 256 bitową liczbę, szyfruje ją przy pomocy swojego klucza prywatnego oraz klucza publicznego serwera. Serwer po otrzymaniu tak zakodowanej liczby rozszyfrowuje ją przy pomocy swojego klucza prywatnego i klucza publicznego klienta. Tak otrzymana liczba jest losowa a ponadto znana tylko klientowi i serwerowi. Jest ona używana jako klucz do kodowania podczas dalszej komunikacji.

   W trakcie prac nad protokołem ssh opracowano liczne jego udoskonalenia i rozszerzenia. Jednym z nich jest możliwość autoryzacji użytkowników przy pomocy pary kluczy RSA (podobnie, jak podczas nawiązywania połączenia ssh pomiędzy klientem i serwerem). Jest to znacznie bezpieczniejszy sposób logowania się na serwerze niż przy pomocy tradycyjnych haseł. Aby używać autoryzację RSA należy wygenerować parę kluczy (swój klucz prywatny i klucz publiczny). W systemach unixowych do tego celu służy program ssh-keygen. Jego opis możemy obejrzeć wydając komendę "man ssh-keygen". Wygenerowany klucz publiczny należy umieścić w pliku identity.pub w podkatalogu .ssh swojego katalogu domowego. Klucz prywatny należy przenieść w bezpieczne miejsce, np. na swój prywatny komputer lub na noszoną ze sobą dyskietkę. Dla zwiększenia bezpieczeństwa można podczas tworzenia pary kluczy RSA zażądać dodatkowego zaszyfrowania klucza prywatnego wymyślonym przez siebie hasłem. W takim przypadku, przed każdym wykorzystaniem swojego klucza prywatnego do uzyskania połączenia z serwerem konieczne jest podanie hasła rozkodowującego klucz. Wiele programów - klientów ssh umożliwia wykorzystanie autoryzacji RSA zamiast wprowadzania tradycyjnych haseł.

   Innym rozszerzeniem oprogramowania realizującego połączenia ssh jest protokół scp umożliwiający bezpieczne przesyłanie plików. Powoli wypiera on opracowany w początkach istnienia sieci Internet protokół ftp, którego podstawową wadą była możliwość podsłuchania zarówno hasła jak i zawartości transmisji.

   Poniżej opisano dwa darmowe (dostępne na naszym serwerze) programy, przeznaczone dla rodziny systemów operacyjnych MS Windows, mogące służyć jako klienci ssh: