Telnet — to protokół sieciowy, który umożliwia łączenie się z zdalnymi stacjami roboczymi lub serwerami i zarządzanie nimi za pomocą poleceń tekstowych, dla którego został opracowany w 1969 roku. Jednak Telnet ma jedną istotną wadę — przesyła dane w postaci niezaszyfrowanej, co czyni go niebezpiecznym w użyciu w nowoczesnych sieciach.
Dziś wielu użytkowników przechodzi na bardziej bezpieczne protokoły, takie jak SSH (Secure Shell), który zapewnia szyfrowanie danych. Jednocześnie Telnet wciąż może być używany w celach edukacyjnych i testowych, a także w testowaniu i diagnostyce połączeń sieciowych.
W tym artykule opowiemy i na przykładzie przedstawimy proces instalacji i używania Telnet w systemie operacyjnym Ubuntu 24.04 LTS. Pokażemy również, jak używać Telnet do sprawdzania otwartych portów i testowania serwerów pocztowych.
Co to jest Telnet?
Telnet — to protokół do zdalnego dostępu do poszczególnych urządzeń i serwerów, umożliwiający użytkownikowi wysyłanie poleceń do serwera za pośrednictwem interfejsu tekstowego. Protokół działa na zasadzie klient-serwer, gdzie klient nawiązuje połączenie z serwerem pod wskazanym adresem IP i porcie.
Chociaż Telnet był często używany do zdalnego administrowania serwerami, dziś uznawany jest za niebezpieczny z powodu braku szyfrowania danych. Oznacza to, że wszelkie przesyłane dane, takie jak wiadomości tekstowe czy hasła, mogą być przechwycone przez osoby trzecie. Z tego powodu zaleca się korzystanie z SSH do łączenia się i zdalnego zarządzania.
Jednak Telnet wciąż jest przydatny do takich celów:
-
Testowania połączeń sieciowych.
-
Sprawdzania dostępności portów.
-
Diagnostyki serwerów pocztowych.
-
Użycia Telnet do sprawdzania DNS
-
Testowania zapytań HTTP
Wymagania do instalacji Telnet
Przed rozpoczęciem instalacji Telnet musimy upewnić się, że nasz system spełnia następujące wymagania:
-
System operacyjny: Ubuntu 24.04 LTS (lub inne wersje).
-
Uprawnienia użytkownika: Dostęp do użytkownika systemowego z uprawnieniami sudo.
-
Adres IP: Statyczny adres IP do połączenia przez Telnet (nieobowiązkowe, ale zalecane dla stabilnej pracy).
Instalacja klienta Telnet
Klient Telnet jest niezbędny do łączenia się z zdalnymi systemami przy użyciu protokołu Telnet. Aby zainstalować klienta Telnet w Ubuntu 24.04 LTS, wykonaj następujące kroki.
Aktualizacja listy pakietów i instalacja klienta Telnet:
sudo apt update
sudo apt install telnet -y
Należy upewnić się, że Telnet został poprawnie zainstalowany, wpisując polecenie:
telnet
Jeśli zobaczysz komunikat z parametrami wiersza poleceń Telnet, oznacza to, że instalacja zakończyła się sukcesem, jak w naszym przypadku.
Instalacja serwera Telnet
Serwer Telnet jest niezbędny, jeśli chcesz przyjmować przychodzące połączenia przez Telnet. Ten krok może być potrzebny, jeśli planujesz używać Telnet do zdalnego zarządzania systemem.
Zainstaluj serwer Telnet:
sudo apt install telnetd -y
Otwórz plik konfiguracyjny inetd.conf do edycji:
sudo nano /etc/inetd.conf
Znajdź linię związaną z Telnet i upewnij się, że nie jest skomentowana. Jeśli linia jest skomentowana (# na początku), usuń ten znak:
telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd
Zapisz zmiany i uruchom ponownie usługę:
sudo systemctl restart inetd.conf
Teraz serwer Telnet jest gotowy do przyjmowania połączeń
Testowanie połączenia z serwerem Telnet
Aby przetestować połączenie z serwerem Telnet, wykonaj następujące kroki:
Na zdalnym systemie otwórz terminal i wykonaj polecenie, aby połączyć się z serwerem Telnet:
telnet
Jeśli serwer Telnet jest poprawnie skonfigurowany, musimy to potwierdzić, otrzymując zaproszenie do wprowadzenia loginu i hasła.
Wprowadź dane użytkownika, który ma uprawnienia w systemie. Jeśli wszystko poszło pomyślnie, będziemy mogli wprowadzać polecenia na zdalnym systemie przez telnet.
Użycie Telnet do sprawdzania otwartych portów
Telnet można używać do sprawdzania otwartych portów na zdalnym systemie. Jest to przydatne do diagnostyki problemów sieciowych i sprawdzania dostępności usług.
Aby sprawdzić otwarte porty, wykonaj polecenie:
telnet <numer portu>
Jeśli port jest otwarty i dostępny, zobaczysz udane połączenie. Jeśli port jest zamknięty, system zwróci błąd połączenia.
Przykład sprawdzenia portu 80 na zdalnym systemie:
telnet 192.168.1.1 80
Jeśli port jest otwarty, otrzymasz odpowiedź od serwera, że połączenie zostało nawiązane. Jeśli nie, system poinformuje, że połączenie nie powiodło się.
Jednak sprawdzać, czy port jest otwarty, można nie tylko na zdalnym systemie,
Sprawdzanie serwera pocztowego za pomocą Telnet
Telnet można używać do sprawdzania działania serwerów pocztowych, takich jak SMTP. Pomaga to upewnić się, że serwer poprawnie przyjmuje i przetwarza wiadomości e-mail.
Aby połączyć się z serwerem pocztowym (SMTP), wykonaj polecenie:
telnet 25
Gdy już połączymy się z serwerem - wykonaj polecenie EHLO:
EHLO example.com
Następnie przetestuj wysyłanie wiadomości za pomocą poleceń:
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
DATA
Napisz treść wiadomości i zakończ wprowadzanie, naciskając Ctrl+D.
Te polecenia pomogą sprawdzić, czy serwer SMTP działa poprawnie i czy możliwe jest wysyłanie poczty.
Testowanie zapytań HTTP
Telnet może pomóc w debugowaniu serwerów WWW. Na przykład możesz ręcznie wysłać zapytanie HTTP:
telnet www.example.com 80
Po nawiązaniu połączenia ręcznie wprowadź zapytanie HTTP:
GET / HTTP/1.1
Host: www.example.com
Naciśnij Enter dwa razy, aby zobaczyć odpowiedź serwera.
Użycie Telnet do sprawdzania DNS
Chociaż nie jest to główny sposób pracy z DNS, Telnet może pomóc w sprawdzaniu zapytań DNS przez porty 53 (UDP) i 953 (TCP). Na przykład:
telnet dns.example.com 53
Może to być przydatne do diagnostyki problemów z serwerem DNS.
Podsumowanie
Telnet wciąż może być przydatny do testowania i diagnostyki połączeń sieciowych. Jednak z powodu braku szyfrowania nie nadaje się do zdalnego zarządzania serwerami w rzeczywistych warunkach. Zaleca się używanie Telnet tylko w celach edukacyjnych lub testowych. Aby zapewnić bezpieczeństwo danych, najlepiej używać SSH, który jest nowoczesnym standardem do zdalnego zarządzania serwerami.