Wróć do informacji o e-podręczniku Wydrukuj Pobierz materiał do PDF Pobierz materiał do EPUB Pobierz materiał do MOBI Zaloguj się, aby dodać do ulubionych Zaloguj się, aby skopiować i edytować materiał Zaloguj się, aby udostępnić materiał Zaloguj się, aby dodać całą stronę do teczki

Protokoły komunikacyjne warstwy aplikacji, takie jak HTTP, HTTPS czy FTP, są powszechnie znane i najczęściej wykorzystywane przez użytkowników sieci komputerowych. Istnieją również działające w tej warstwie protokoły, które nie są tak popularne, ale równie często stosowane. Zaliczamy do nich protokoły zdalnego połączenia terminalowego, a mianowicie TELNETSSH.

Ciekawostka

Załóżmy, że jesteśmy administratorami sieci komputerowej. Nasza sieć jest bardzo duża, a biura znajdują się w kilku różnych lokalizacjach. Powstaje pytanie: jak administrować taką siecią, w której urządzenia, takie jak rutery, przełączniki sieciowe, a przede wszystkim obsługujące ją serwery, są od nas oddalone o wiele kilometrów? W tej sytuacji mamy dwa wyjścia: możemy za każdym razem, kiedy zaistnieje potrzeba zmiany konfiguracji, jechać do biura, w którym akurat znajduje się serwer wymagający takich zmian, lub też połączyć się z nim zdalnie, nie wychodząc zza biurka. Oczywiście pierwsza opcja nie jest optymalna - musimy przecież dojechać do biura, a to strata czasu i pieniędzy. Wybieramy zatem drugą opcję, czyli połączenie zdalne.

R19DfCcOeezED
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Ważne!

Zdalne połączenie pozwala administratorom sieci na łączenie się ze wszystkimi urządzeniami sieciowymi oraz serwerami, które mają taką usługę uruchomioną. W trakcie połączenia zdalnego możemy konfigurować urządzenia i serwery tak, jakbyśmy pracowali bezpośrednio z nimi.

Takie rozwiązanie bardzo ułatwia pracę administratorom, gdyż często zdarza się, że odpowiadają oni za prawidłową pracę urządzeń znajdujących się w lokalizacjach oddalonych od siebie o dziesiątki, setki, a nawet tysiące kilometrów. A zatem bez możliwości fizycznego do nich dostępu.

Jednym z pierwszych protokołów warstwy aplikacji, jaki w ogóle powstał, był właśnie protokół zdalnego połączenia, czyli Telnet. Telnet to zarówno nazwa protokołu komunikacyjnego działającego w architekturze klient‑serwer, jak i usługi systemu operacyjnego umożliwiające takie połączenie.

Podobnie jak w przypadku usługi FTP, również tutaj obsługa połączenia TELNET może realizować zewnętrzne oprogramowanie, np. PUTTY.

R1Kc8jnreSmZu
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Ważne!

Protokół TELNET ma jednak wadę, która spowodowała, że obecnie praktycznie przestał być używany i rekomenduje się jego wyłączenie na wszystkich urządzeniach, które do tej pory go stosowały.

Niestety TELNET nie oferuje szyfrowania komunikacji. Wszelkie polecenia, a nawet loginy i hasła w sesji TELNET przesyłane są pomiędzy klientem a serwerem poprzez tekst jawny. Stanowi to ogromne zagrożenie - jeśli bowiem ktoś „podsłucha” taką komunikację, uzyska dostęp do wszystkich danych i poleceń, które administrator przesyła do serwera, czy urządzenia sieciowego.

Szyfrowany TELNET, czyli SSH

Następcą protokołu TELNET oferującym szyfrowanie komunikacji jest protokół zdalnego połączenia SSH (ang. Secure Shell). Szyfrowanie danych odbywa się najczęściej z wykorzystaniem metod AESAESAES.

Podczas instalacji usługi SSH na serwerze czy też na urządzeniu sieciowym tworzona jest para kluczy – klucz publiczny i klucz prywatny usługi SSH. Służą one do szyfrowania i deszyfrowania komunikacji z klientem.

Podczas pierwszego połączenia z serwerem SSH klient zapisuje klucz publiczny tego serwera na swoim dysku, w pliku known_hosts.

R1SqfntK6tPTc
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Następnie klient tworzy tzw. klucz sesji, który będzie stosowany do szyfrowania całej komunikacji. Klucz sesji zostaje zaszyfrowany kluczem publicznym otrzymanym wcześniej od serwera i jest do niego odsyłany. Od tego momentu cała komunikacja szyfrowana jest kluczem sesji.

RVhIDh9BKeGGC
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Etap praktyczny nawiązywania sesji ze zdalnym serwerem Linux poprzez protokół SSH z wykorzystaniem programu PUTTY zademonstrowany został w poniższym filmie:

R1OebC92cEApT
Lekcja o sposobie nawiązania zdalnego połączenia z systemem Linux przez serwer SSH.

Słownik

AES
AES

(ang. Advanced Encryption Standard) standard kryptograficzny wykorzystujący symetryczny szyfr blokowy