10. Protokoły warstwy aplikacji

10.6. Protokół SSH

Powszechnie używanym protokołem warstwy aplikacji jest protokół zdalnego zarządzania hostem, znany jako SSH (Secure Shell). Dla osób niebędących informatykami nazwa ta ma niewielkie znaczenie, ponieważ nie jest protokołem, stroną internetową ani e-mailem używanym przez „zwykłych zjadaczy chleba”. Administratorzy używają go do zarządzania serwerami, które często znajdują się w różnych lokalizacjach geograficznych, niekoniecznie w miejscu pracy. Jest również używany przez osoby, które kupiły serwery VPS i nimi zarządzają. Protokół ten wywodzi się z innego protokołu dostępu zdalnego, protokołu TELNET, i jest prawdopodobnie lepszą wersją. Czemu? Ponieważ TELNET przy okazji jest prawdopodobnie najstarszym protokołem w warstwie aplikacji, nie szyfruje komunikacji między klientem a serwerem, wiadomości wysyłane są w postaci zwykłego tekstu, dzięki czemu możliwe jest przechwycenie komunikacji. Dlatego hostem zarządza się zdalnie za pomocą szyfrowanego protokołu SSH.

Domyślnym algorytmem szyfrowania komunikacji jest RSA, ale nieco słabszy algorytm DSA może być również użyty do szyfrowania danych. Podczas instalacji serwera SSH tworzona jest para kluczy – publiczny i prywatny serwera – które służą do szyfrowania i deszyfrowania komunikacji. Gdy klient łączy się z serwerem po raz pierwszy, zapisuje klucz publiczny serwera w pliku known_hosts na dysku.

Następnie tworzy tak zwany klucz sesji, który służy do szyfrowania całej komunikacji. Klucz sesji jest szyfrowany kluczem publicznym wcześniej otrzymanym z serwera i odesłanym do niego. Od tego momentu cała komunikacja jest szyfrowana za pomocą klucza sesji.

Domyślnie SSH działa na porcie 22. PUTTY to jeden z najpopularniejszych programów klienckich do korzystania z SSH, jest bezpłatny, można go pobrać z sieci i nie wymaga instalacji. Aby połączyć się zdalnie z hostem, po prostu uruchom go, wprowadź nazwę hosta lub jego adres IP, wybierz SSH, jeśli nie jest zaznaczone domyślnie, i kliknij Otwórz. Jeśli łączymy się ze zdalnym hostem po raz pierwszy, potwierdzamy, że chcemy się połączyć i możemy nim zarządzać zdalnie.