Hardening SSH w systemie Linux – krok po kroku
SSH to podstawowy sposób zdalnego zarządzania serwerem Linux, dlatego jego właściwa konfiguracja jest kluczowa dla bezpieczeństwa. W tym poradniku przeprowadzę Cię przez najważniejsze kroki twardnienia (hardeningu) SSH.
🔐 Dlaczego hardening SSH jest tak ważny?
- SSH jest często celem ataków brute-force
- Nieprawidłowa konfiguracja może doprowadzić do przejęcia kontroli nad serwerem
- Zwiększenie bezpieczeństwa to ograniczenie dostępu i wymuszenie silnych mechanizmów uwierzytelniania

🛠️ Krok 1: Edytuj plik konfiguracyjny SSH
Otwórz plik /etc/ssh/sshd_config w ulubionym edytorze:
sudo nano /etc/ssh/sshd_config
🔧 Krok 2: Wyłącz logowanie hasłem (jeśli używasz kluczy SSH)
Znajdź i zmień lub dodaj:
PasswordAuthentication no
🔧 Krok 3: Zmień domyślny port SSH (opcjonalnie)
Na przykład port 2222:
Port 2222
🔧 Krok 4: Ogranicz dostęp do wybranych użytkowników lub grup
Dodaj na końcu pliku:
AllowUsers twoj_uzytkownik
lub
AllowGroups sshusers
🔧 Krok 5: Wyłącz logowanie root przez SSH
Znajdź i zmień:
PermitRootLogin no
🔧 Krok 6: Ustaw silne szyfrowanie i protokół
Warto wymusić protokół SSH v2 i ustawić listę bezpiecznych algorytmów:
Protocol 2
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
🔧 Krok 7: Zrestartuj usługę SSH
sudo systemctl restart sshd
🛡️ Dodatkowe rekomendacje:
- Używaj kluczy SSH RSA/ECDSA lub Ed25519 zamiast haseł
- Włącz firewall (np.
ufw) i zezwól tylko na port SSH - Używaj
fail2bando blokowania podejrzanych adresów IP - Monitoruj logi (
/var/log/auth.log) pod kątem nieudanych prób - Rozważ dwuskładnikowe uwierzytelnianie (2FA) dla SSH
✅ Podsumowanie
Konfiguracja SSH w sposób bezpieczny chroni Twój serwer przed wieloma zagrożeniami, zmniejszając ryzyko nieautoryzowanego dostępu. Regularna weryfikacja ustawień oraz monitorowanie logów to podstawa dobrego zabezpieczenia.






