Artykuł Serwery

Jak włączyć i używać telnet w Windows 10 i 11

Klient telnet jest w Windows 10 i 11 domyślnie wyłączony. Aby go włączyć, otwórz Włącz lub wyłącz funkcje systemu Windows, zaznacz Klient Telnet i kliknij OK. Potem użyjesz polecenia telnet host port, np. telnet google.com 80, żeby sprawdzić, czy port jest otwarty.

Czym jest telnet i do czego służy dzisiaj

Telnet (Teletype Network) to jeden z najstarszych protokołów sieciowych i zarazem nazwa klienta terminalowego, który go obsługuje. Zadanie protokołu jest proste: nawiązać tekstowe połączenie ze zdalnym urządzeniem i przesyłać znaki w obie strony. Domyślny port to 23. W Windows dostajesz konkretny program - telnet.exe - czyli klienta, który to połączenie inicjuje (dokumentacja Microsoft).

Konkret: jako protokół zdalnego logowania telnet jest dziś przestarzały i niebezpieczny. Cała transmisja, łącznie z loginem i hasłem, leci plaintextem - bez żadnego szyfrowania. Każdy, kto podsłucha ruch po drodze, przeczyta Twoje dane jak otwartą pocztówkę. Dlatego do realnego logowania na serwer nikt rozsądny telnetu nie używa - wyparł go ssh

Krok po kroku:

  1. Naciśnij Win + R, wpisz optionalfeatures i zatwierdź (albo przejdź przez Panel sterowania -> Programy -> Włącz lub wyłącz funkcje systemu Windows).
  2. Na liście znajdź pozycję Klient Telnet.
  3. Zaznacz pole obok niej i kliknij OK.
  4. Poczekaj kilka sekund, aż system doda funkcję. Restart nie jest potrzebny.

To najprostsza droga dla kogoś, kto nie chce dotykać wiersza poleceń. Po zamknięciu okna klient jest gotowy od ręki.

Metoda B - PowerShell (administrator)

Jeśli wolisz jedną linijkę, uruchom PowerShell jako administrator i wpisz:

Enable-WindowsOptionalFeature -Online -FeatureName TelnetClient

Polecenie włącza funkcję online, bez pobierania czegokolwiek z sieci - komponent leży już na dysku. Uprawnienia administratora są konieczne, inaczej dostaniesz odmowę dostępu. Tę metodę stosuj, gdy konfigurujesz maszynę zdalnie albo chcesz wpiąć włączenie klienta w skrypt provisioningu.

Metoda C - DISM w wierszu poleceń (administrator)

Trzecia droga to narzędzie DISM, przydatne w skryptach i na maszynach zarządzanych zdalnie. W wierszu poleceń uruchomionym jako administrator:

dism /online /Enable-Feature /FeatureName:TelnetClient

Sprawdź: po każdej z tych metod wpisz w terminalu samo telnet. Jeśli zobaczysz znak zachęty Microsoft Telnet>, klient działa. Jeśli dalej wyskakuje błąd o nierozpoznanym poleceniu, wróć do metody A i upewnij się, że pole Klient Telnet faktycznie jest zaznaczone.

Jak używać telnet - składnia i praktyczne komendy

Podstawowa składnia jest krótka:

telnet [host] [port]

host to adres serwera (nazwa domenowa lub IP), port to numer usługi, którą chcesz odpytać. Jeśli pominiesz port, telnet spróbuje domyślnego 23 - co przy testowaniu innych usług prawie nigdy nie jest tym, o co Ci chodzi. Dlatego port podawaj zawsze wprost.

Najczęstszy realny scenariusz to sprawdzenie, czy dana usługa odpowiada na swoim porcie:

telnet google.com 80
telnet mojserwer.pl 25
telnet 192.168.1.1 443

Pierwsze polecenie puka do serwera WWW na porcie HTTP, drugie do serwera pocztowego na porcie SMTP, trzecie do usługi HTTPS na routerze lub serwerze w sieci lokalnej. Interpretacja wyniku jest binarna i bardzo czytelna:

  • Ekran się czyści i widzisz migający kursor (czasem od razu odpowiedź usługi) - port jest otwarty i coś na nim nasłuchuje.
  • Komunikat Could not open connection to the host, on port N: Connect failed - port jest zamknięty, filtrowany przez firewall albo pod tym adresem nie ma nasłuchującej usługi.

Telnet działa też interaktywnie. Wejdź w niego bez argumentów, a znajdziesz się w trybie Microsoft Telnet>, gdzie działają polecenia open host port (nawiązanie połączenia), display (ustawienia sesji), quit (wyjście) oraz sekwencja Ctrl + ], która przenosi Cię z aktywnej sesji z powrotem do trybu poleceń. To przydatne, gdy chcesz zamknąć wiszące połączenie bez zabijania całego okna terminala.

Pro tip admina: telnetem możesz ręcznie „porozmawiać" z serwerem WWW. Połącz się na porcie 80, wpisz GET / HTTP/1.0 i naciśnij Enter dwa razy - serwer odpowie surowymi nagłówkami HTTP i treścią strony. Ten sam trik działa dla poczty: po połączeniu na porcie 25 serwer SMTP przywita Cię banerem 220, po którym możesz wpisać EHLO test i zobaczyć listę obsługiwanych rozszerzeń. To najszybszy sposób, żeby zobaczyć, co dokładnie zwraca usługa, bez pośrednictwa przeglądarki czy klienta pocztowego. Jeśli chcesz przejść od pojedynczego portu do pełnego obrazu połączeń w systemie, tę robotę przejmuje netstat-windows - wypisze wszystkie otwarte porty i aktywne sesje.

Częste błędy i pułapki

„telnet nie jest rozpoznawane jako polecenie"

To zdecydowanie najczęstszy problem i zwykle powód, dla którego tu trafiłeś. Pełny komunikat brzmi: "telnet" nie jest rozpoznawane jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy. Przyczyna jest prosta - klient telnet nie został włączony. System nie zna polecenia, bo telnet.exe fizycznie nie istnieje w ścieżce, dopóki nie aktywujesz funkcji. Rozwiązanie: wróć do sekcji o włączaniu klienta i przejdź metodą A, B lub C. Po aktywacji otwórz nowe okno terminala - stara sesja mogła nie załapać zmiany w zmiennej PATH.

„Could not open connection... Connect failed"

Tu klient działa, ale połączenie nie doszło do skutku. Trade-off diagnozy: ten sam komunikat oznacza kilka różnych rzeczy. Port może być po prostu zamknięty, usługa może być wyłączona, albo ruch blokuje firewall - lokalny na Twojej maszynie, na serwerze docelowym lub gdzieś po drodze w sieci korporacyjnej. W firmowych sieciach wychodzące połączenia na nietypowe porty bywają domyślnie zarzynane, więc negatywny wynik nie zawsze znaczy, że serwer jest zły. Sprawdź: zweryfikuj ten sam port z innej sieci (choćby z telefonu na LTE), zanim uznasz usługę za martwą.

Mylenie klienta z serwerem

Nie połączysz się „z Windowsem przez telnet", jeśli po drugiej stronie nie ma serwera telnet - a nowoczesny Windows go nie ma. Jeśli potrzebujesz zdalnego dostępu do maszyny z Windows, włącz serwer OpenSSH i łącz się przez SSH. Kiedy z kolei to Twoje połączenie SSH jest odrzucane, przyczyny i sposób naprawy rozpisałem w tekście o ssh-connection-refused.

Nowocześniejsza alternatywa testu portu

W skrócie: do samego sprawdzania portów PowerShell ma dziś lepsze narzędzie niż telnet. Polecenie:

Test-NetConnection -ComputerName host -Port 443

zwraca czytelny raport - pole TcpTestSucceeded przyjmuje wartość True dla otwartego portu, dochodzi do tego adres IP i opóźnienie. Jest bardziej informacyjne niż surowy telnet i nie wymaga włączania żadnej dodatkowej funkcji, bo Test-NetConnection jest w systemie od zawsze. Telnet zostaw do sytuacji, w których chcesz ręcznie pogadać z usługą tekstową, a nie tylko sprawdzić stan portu.

Telnet czy SSH - kiedy czego używać

Oba narzędzia nawiązują zdalne połączenie tekstowe, ale na tym podobieństwa się kończą. Poniższa tabela ustawia sprawy na miejscu:

Cecha Telnet SSH
Szyfrowanie brak, plaintext pełne, szyfrowany kanał
Domyślny port 23 22
Zastosowanie dziś test portu, ręczne odpytanie usługi realna zdalna administracja
Bezpieczeństwo dane widoczne dla podsłuchu login i sesja chronione

Przekaz jest jednoznaczny: do logowania na serwer nigdy telnet, zawsze SSH. Telnet trzymaj w skrzynce narzędziowej wyłącznie jako diagnostyczny scyzoryk do portów. Jeśli zarządzasz własnym serwerem - na przykład VPS-em pod naukę administracji - połączysz się z nim przez SSH; w Windows najwygodniej zrobisz to klientem putty, a fundamenty samego protokołu i konfigurację kluczy znajdziesz w pillarze ssh.

FAQ

Czy telnet jest w Windows 11?

Tak. Klient telnet jest wbudowany w Windows 11 jako opcjonalna funkcja, tylko domyślnie wyłączona. Wystarczy ją aktywować - przez okno Włącz lub wyłącz funkcje systemu Windows, PowerShell albo DISM. Ścieżka jest identyczna jak w Windows 10, więc żadne dodatkowe kroki specyficzne dla „jedenastki" nie są potrzebne.

Dlaczego telnet „nie jest rozpoznawane jako polecenie"?

Bo klient telnet nie został jeszcze włączony. Dopóki nie aktywujesz funkcji Klient Telnet, plik telnet.exe nie istnieje w systemie i wiersz poleceń nie zna tej komendy. Włącz klienta jedną z trzech metod, otwórz nowe okno terminala i polecenie zacznie działać poprawnie.

Jak sprawdzić telnetem, czy port jest otwarty?

Użyj składni telnet host port, na przykład telnet example.com 443. Jeśli ekran się wyczyści i zobaczysz kursor, port jest otwarty i usługa nasłuchuje. Komunikat Connect failed oznacza port zamknięty, wyłączoną usługę lub blokadę firewalla po którejś ze stron połączenia.

Czy trzeba coś pobierać, żeby mieć telnet w Windows?

Nie. Telnet w Windows to wbudowana funkcja systemu, nie osobny program do pobrania. Hasła w stylu „telnet download windows 10" to nieporozumienie - niczego nie instalujesz z internetu. Klient leży już na dysku, wystarczy go włączyć w funkcjach systemu i od razu jest gotowy.

Czym zastąpić telnet do bezpiecznego połączenia?

SSH, czyli Secure Shell. To szyfrowany następca telnetu i standard zdalnej administracji serwerami - chroni login, hasło i całą sesję. W Windows łączysz się przez wbudowane polecenie ssh albo przez klienta putty. Do samego testu portu wystarczy telnet lub Test-NetConnection, ale do logowania zawsze wybieraj SSH.

Gdzie ćwiczyć administrację serwerem

Jeśli testowanie portów rozbudziło w Tobie apetyt na prawdziwą zdalną administrację, kolejny logiczny krok to własny serwer. Na maszynie, do której masz dostęp root i pełną kontrolę, spokojnie poćwiczysz SSH, firewall i konfigurację usług - bez ryzyka, że coś zepsujesz na produkcji. To zależy od ruchu: do nauki nie potrzebujesz mocnej maszyny, wystarczy najtańszy VPS z dostępem root. Porównanie hostingów pod kątem ceny, dostępu root i lokalizacji zebrałem w zestawieniu ranking-vps. Zacznij od najtańszej opcji pod naukę; parametry zawsze zdążysz podnieść, gdy realny ruch tego wymusi.