🔐 Jak ograniczyć dostęp SSH tylko dla wybranych użytkowników – poradnik krok po kroku
Usługa SSH to jedno z głównych wejść do systemu. Jeśli pozostawisz ją otwartą dla wszystkich użytkowników, narażasz system na ataki brute-force, próby logowania na nieużywane konta, czy nadużycia ze strony lokalnych użytkowników. W tym poradniku pokażę Ci, jak zablokować dostęp SSH dla wszystkich poza wybranymi użytkownikami lub grupami.
🛠️ Krok 1: Edycja pliku konfiguracyjnego SSH
Plik główny konfiguracji to:
/etc/ssh/sshd_config
Zalecana kopia zapasowa przed zmianami:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
👥 Krok 2: Ograniczenie dostępu – opcje AllowUsers i AllowGroups
✅ Pozwól tylko konkretnym użytkownikom
Dodaj (lub odkomentuj) linijkę:
AllowUsers admin backupuser
Tylko wymienieni użytkownicy będą mogli się logować przez SSH.
✅ Pozwól tylko konkretnej grupie
AllowGroups sshusers
Tylko użytkownicy należący do grupy sshusers będą mieli dostęp.
➡️ Możesz dodać grupę:
sudo groupadd sshusers
sudo usermod -aG sshusers nazwa_uzytkownika
❌ Krok 3: Blokowanie konkretnych użytkowników – DenyUsers i DenyGroups
Jeśli chcesz zablokować tylko określonych użytkowników:
DenyUsers test guest
Można też blokować całe grupy:
DenyGroups developers
🧪 Krok 4: Użycie sekcji Match User lub Match Group
Dla bardziej precyzyjnej kontroli możesz użyć reguł typu:
Match User backupuser
AllowTcpForwarding no
X11Forwarding no
ForceCommand /bin/bash
Dzięki Match możesz:
- ograniczyć przekierowania portów
- wymusić określone polecenie po zalogowaniu
- ustawić inne parametry tylko dla danego użytkownika/grupy

🔄 Krok 5: Zastosuj zmiany
Po edycji pliku zrestartuj usługę SSH:
sudo systemctl restart sshd
Nie używaj reload, ponieważ nie zawsze odświeża wszystkie zmienne.
📋 Krok 6: Test i weryfikacja
- Zaloguj się na konto z dostępem w nowym terminalu – nie wylogowuj się jeszcze z działającej sesji
- Sprawdź, czy użytkownicy z
DenyUserslub spozaAllowUserssą odrzucani - Sprawdź logi:
journalctl -u sshd
lub
sudo tail -f /var/log/auth.log
🔐 Wskazówki bezpieczeństwa
- Zawsze testuj nowe reguły w drugim terminalu, aby uniknąć zablokowania samego siebie
- Wyłącz logowanie na konto root (opis w kolejnym poradniku)
- Zawsze używaj autoryzacji kluczem, a nie hasłem
- Jeśli chcesz całkowicie zablokować SSH, możesz to zrobić tylko na poziomie firewalla
✅ Podsumowanie
Ograniczając dostęp do SSH tylko dla wybranych użytkowników lub grup:
✔️ Zwiększasz bezpieczeństwo systemu
✔️ Chronisz się przed atakami brute-force
✔️ Ograniczasz liczbę potencjalnych punktów wejścia
✔️ Utrzymujesz porządek i kontrolę nad dostępem






