Błędy konfiguracji serwera SSH: Problemy z logowaniem zdalnym, konfiguracją kluczy SSH, uprawnieniami i zabezpieczeniem serwera
Linux

Błędy konfiguracji serwera SSH: Problemy z logowaniem zdalnym, konfiguracją kluczy SSH, uprawnieniami i zabezpieczeniem serwera

Błędy konfiguracji serwera SSH: Problemy z logowaniem zdalnym, konfiguracją kluczy SSH, uprawnieniami i zabezpieczeniem serwera


🔐 Wprowadzenie

Protokół SSH (Secure Shell) jest jednym z podstawowych narzędzi do zdalnego zarządzania systemami Linux. Jednak błędy konfiguracji serwera SSH mogą prowadzić do problemów z logowaniem, błędów autoryzacji, a nawet poważnych luk w bezpieczeństwie. W tym artykule wyjaśniamy, jak diagnozować i rozwiązywać problemy z logowaniem SSH, kluczami publicznymi, uprawnieniami i konfiguracją bezpieczeństwa.


⚙️ Podstawowa konfiguracja SSH

Główny plik konfiguracyjny serwera SSH to:

/etc/ssh/sshd_config

Zmiany w tym pliku wymagają restartu usługi:

sudo systemctl restart sshd

❌ Najczęstsze błędy konfiguracyjne SSH

Błędy konfiguracji serwera SSH: Problemy z logowaniem zdalnym, konfiguracją kluczy SSH, uprawnieniami i zabezpieczeniem serwera
Błędy konfiguracji serwera SSH: Problemy z logowaniem zdalnym, konfiguracją kluczy SSH, uprawnieniami i zabezpieczeniem serwera

1️⃣ Złe uprawnienia na katalogach i plikach

🔎 SSH wymaga restrykcyjnych uprawnień:

  • ~/.ssh → 700
  • ~/.ssh/authorized_keys → 600
  • ~/.ssh/id_rsa → 600
  • ~/.ssh/id_rsa.pub → 644
  • Plik /etc/ssh/sshd_config → 644 lub 600

Poprawienie uprawnień:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

2️⃣ Brak lub zła konfiguracja klucza publicznego

📌 Klucz publiczny powinien być dodany do:

~/.ssh/authorized_keys

Upewnij się, że nie ma dodatkowych znaków lub błędnych spacji. Prawidłowa linia zaczyna się np. od ssh-rsa.


3️⃣ Zablokowany dostęp przez ustawienia sshd_config

🛑 Błędne wpisy w pliku sshd_config mogą zablokować dostęp, np.:

PasswordAuthentication no
PubkeyAuthentication no
PermitRootLogin no

🔧 Co sprawdzić:

  • Czy PubkeyAuthentication jest włączone
  • Czy PasswordAuthentication jest włączone, jeśli logujesz się hasłem
  • Czy PermitRootLogin nie blokuje dostępu (może być ustawione na prohibit-password)

4️⃣ Nieprawidłowy adres IP lub port

🔎 Sprawdź, czy serwer nasłuchuje na właściwym porcie:

sudo netstat -tulnp | grep ssh

Upewnij się, że port SSH (domyślnie 22) nie jest zablokowany przez firewall:

sudo ufw allow ssh
sudo ufw status

5️⃣ Błąd „Permission denied (publickey,password)”

To klasyczny błąd wynikający najczęściej z:

  • Nieprawidłowych kluczy SSH
  • Niepoprawnych uprawnień
  • Wyłączonego logowania hasłem i nieaktywnego logowania kluczami
Czytaj  Konfiguracja usług systemowych w Debianie: Zarządzanie usługami za pomocą systemd

🔍 Sprawdź logi:

journalctl -u sshd

lub

cat /var/log/auth.log

🔐 Dobre praktyki bezpieczeństwa SSH


Wyłącz logowanie rootem

PermitRootLogin no

Używaj logowania kluczem publicznym

PasswordAuthentication no
PubkeyAuthentication yes

Zmień domyślny port SSH

Port 2222

Pamiętaj, aby dodać wyjątek w zaporze sieciowej:

sudo ufw allow 2222/tcp

Użyj narzędzi typu Fail2ban

Fail2ban blokuje adresy IP, które podejmują wielokrotne nieudane próby logowania.

sudo apt install fail2ban

Ogranicz dostęp do SSH tylko dla wybranych użytkowników

AllowUsers adminuser devops

🧪 Narzędzia do testowania i diagnostyki SSH


🔧 ssh -v — tryb verbose do diagnozowania błędów:

ssh -v user@host

🔧 sshd -t — sprawdzenie poprawności konfiguracji:

sudo sshd -t

🔧 nc (netcat) — sprawdzenie, czy port SSH jest otwarty:

nc -zv host 22

🛠️ Jak przywrócić dostęp, gdy coś pójdzie nie tak?

  1. Zaloguj się lokalnie przez konsolę lub inne konto z sudo.
  2. Zmień lub usuń błędne wpisy w /etc/ssh/sshd_config.
  3. Sprawdź logi: /var/log/auth.log i journalctl.
  4. Uruchom ponownie usługę SSH:
sudo systemctl restart sshd

✅ Podsumowanie

Błędy konfiguracji SSH mogą uniemożliwić zdalne zarządzanie systemem lub otworzyć furtkę dla atakujących. Kluczem do sukcesu jest zrozumienie, jak działa uwierzytelnianie, prawidłowe ustawienie uprawnień i świadome wdrożenie polityk bezpieczeństwa. W połączeniu z odpowiednimi narzędziami diagnostycznymi, administratorzy mogą efektywnie wykrywać i rozwiązywać problemy z SSH.

 

Polecane wpisy
Konfiguracja tuneli VPN z wykorzystaniem policy-based routing (PBR)
Konfiguracja tuneli VPN z wykorzystaniem policy-based routing (PBR)

Konfiguracja tuneli VPN z wykorzystaniem policy-based routing (PBR) Policy-Based Routing (PBR) to zaawansowana technika umożliwiająca elastyczne zarządzanie ruchem sieciowym na Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.