Powrót do listy

Konfiguracja SSH i Telnet

Zdalny dostęp do konsoli serwera to podstawowa umiejętność administratora. Dostęp ten realizowany jest przy pomocy dwóch protokołów: Telnet i SSH (Secure Shell). Telnet jest przestarzały i niebezpieczny, bo przesyła wszystkie dane w postaci czystego tekstu, natomiast SSH zapewnia pełne szyfrowanie i dodatkowe mechanizmy uwierzytelniania.

1. Telnet – instalacja i podstawowa konfiguracja

Telnet nasłuchuje na porcie TCP 23. W środowiskach testowych można go zainstalować, aby pokazać różnice w bezpieczeństwie. Instalacja w Debian/Ubuntu:

sudo apt install telnetd -y

Po uruchomieniu usługi można połączyć się z serwerem:

telnet localhost

Uwaga: podczas przechwytywania pakietów (np. w Wireshark) widoczne będą wszystkie przesyłane hasła.

2. SSH – instalacja OpenSSH Server

OpenSSH zapewnia szyfrowany dostęp na domyślnym porcie 22 oraz dodatkowe usługi SFTP i SCP. Instalacja:

sudo apt install openssh-server -y

Po instalacji usługa jest uruchamiana automatycznie. Połączenie testowe z innej maszyny:

ssh użytkownik@adres_ip_serwera

3. Hardening SSH – bezpieczna konfiguracja

Kluczowy plik konfiguracyjny: /etc/ssh/sshd_config. Najważniejsze zmiany:

# fragment /etc/ssh/sshd_config
Port 2222Zmieniamy domyślny port, aby utrudnić skanowanie. PermitRootLogin noBlokuje logowanie na konto root. PasswordAuthentication noWymusza uwierzytelnianie kluczami publicznymi. AllowUsers anna piotrTylko wybrani użytkownicy mogą się logować. MaxAuthTries 3Ogranicza liczbę nieudanych prób logowania.

Po edycji restartujemy usługę:

sudo systemctl restart sshd

4. Generowanie i rozprowadzanie kluczy SSH

Na komputerze klienckim generujemy parę kluczy:

ssh-keygen -t rsa -b 4096 -C "nazwa@komputera"

Klucz publiczny kopiujemy na serwer (np. przy pomocy ssh-copy-id):

ssh-copy-id -i ~/.ssh/id_rsa.pub użytkownik@adres_ip_serwera

Po pomyślnym skopiowaniu można połączyć się bez hasła.