SSH w Linux Serwer - opis i zadania

1. Czym jest SSH?

SSH (Secure Shell) to protokół komunikacyjny, który pozwala na bezpieczne (szyfrowane) połączenie terminalowe z odległym komputerem.

  • Bezpieczeństwo: Wszystko, co wpisujesz (hasła, komendy), jest szyfrowane.

  • Architektura: Działa w modelu Klient-Serwer.

    • Serwer: Program sshd (nasłuchuje na połączenia).

    • Klient: Program ssh (inicjuje połączenie).

  • Port: Domyślnie 22 (TCP).


2. Instalacja i status

Na większości serwerów (np. Ubuntu Server) SSH jest zainstalowane, ale warto znać te komendy:

  • Instalacja: sudo apt install openssh-server

  • Sprawdzenie statusu: sudo systemctl status ssh

  • Restart po zmianach: sudo systemctl restart ssh


3. Konfiguracja serwera (/etc/ssh/sshd_config)

Główny plik konfiguracyjny to /etc/ssh/sshd_config (pamiętaj o literce d na końcu – oznacza ona daemon, czyli usługę serwera).

Najważniejsze opcje (Dobre praktyki):

OpcjaOpisRekomendacja
Port 22Numer portu, na którym nasłuchuje serwer.Zmień na niestandardowy (np. 2222), by uniknąć botów.
PermitRootLoginCzy użytkownik root może logować się przez SSH.Ustaw na no (loguj się jako zwykły użytkownik + sudo).
PasswordAuthenticationCzy logowanie hasłem jest dozwolone.Docelowo no (używaj kluczy SSH).
MaxAuthTriesLiczba nieudanych prób logowania przed rozłączeniem.Ustaw na 3.
AllowUsersLista konkretnych użytkowników, którzy mogą się logować.Wpisz tylko niezbędne nazwy użytkowników.

4. Logowanie za pomocą kluczy (Bez hasła)

To najbezpieczniejsza metoda. Zamiast wpisywać hasło, serwer rozpoznaje Twój „podpis cyfrowy”.

  1. Generowanie kluczy na kliencie (Twoim PC): ssh-keygen -t ed25519 (tworzy klucz prywatny i publiczny).

  2. Przesłanie klucza publicznego na serwer: ssh-copy-id uzytkownik@ip-serwera

  3. Efekt: Logujesz się bez pytania o hasło, a Twój serwer jest odporny na ataki typu Brute Force.

Najważniejsze polecenia SSH:

KomendaOpis
ssh user@ipStandardowe połączenie z serwerem.
ssh -p [port] user@ipPołączenie na niestandardowym porcie.
ssh-keygen -t ed25519Generowanie bezpiecznej pary kluczy.
ssh-copy-id user@ipWysyłanie klucza publicznego na serwer.
scp plik.txt user@ip:/home/Bezpieczne kopiowanie pliku na serwer.
exitZakończenie sesji SSH i powrót na lokalny komputer.

 


 

Zadania 

Zadanie 1: Podstawowa konfiguracja

Zmień ustawienia serwera SSH tak, aby:

  • Serwer nasłuchiwał na porcie 2200.

  • Zablokowane było logowanie bezpośrednio na konto root.

  • Maksymalna liczba prób wpisania hasła wynosiła 2.

  • Po zmianach zrestartuj usługę i sprawdź, czy nadal możesz się połączyć.

Zadanie 2: Baner powitalny

Stwórz plik tekstowy /etc/issue.net z ostrzeżeniem: „Wstęp tylko dla upoważnionych!”. Następnie skonfiguruj SSH tak, aby wyświetlało ten baner każdemu przed zalogowaniem (opcja Banner).

Zadanie 3: Klucze SSH

Wygeneruj parę kluczy na swoim komputerze lokalnym i prześlij klucz publiczny na serwer. Skonfiguruj serwer tak, aby całkowicie wyłączyć możliwość logowania się tradycyjnym hasłem (PasswordAuthentication no).

Zadanie 4: Debugowanie (Znajdź błąd)

Uczeń zmienił port SSH w konfiguracji na 2222, zrestartował usługę, ale teraz nie może się połączyć z serwerem. Wskaż 3 możliwe przyczyny problemu.

Kontakt: mgzsp22@gmail.com

© 2026. Wszystkie prawa zastrzeżone.

error: Content is protected !!