Krótka odpowiedź
Jak zabezpieczyć SSH na nowym VPS?
Aby zabezpieczyć SSH na nowym VPS, utworzyć użytkownika sudo, zainstalować klucz publiczny, a potem ustawić PasswordAuthentication no, PermitRootLogin no i AllowUsers w pliku w /etc/ssh/sshd_config.d/. Sprawdzić poleceniem sshd -t i przeładować usługę. Gloamport Dusk, 1 vCPU, 2 GB RAM, 40 GB NVMe, 2 TB traffic, kosztuje $5.25 miesięcznie przy 12 miesiącach.
Które opcje sshd_config są najważniejsze na nowym VPS?
| Opcja | Wartość | Wartość domyślna w podręczniku sshd_config |
|---|---|---|
PasswordAuthentication | no | yes |
KbdInteractiveAuthentication | no | yes (plik Debiana ustawia no) |
PermitRootLogin | no | prohibit-password |
PubkeyAuthentication | yes | yes |
AllowUsers | użytkownik sudo | wszyscy użytkownicy |
MaxAuthTries | 3 | 6 |
LoginGraceTime | 30 | 120 sekund |
Wartości domyślne zgodnie z sshd_config(5), sprawdzone 2026-11-10. Wartości w środkowej kolumnie to wybory tego poradnika.
Dlaczego zabezpieczać SSH przed wszystkim innym?
SSH to jedyna usługa, którą VPS udostępnia od pierwszej minuty, więc to pierwsze drzwi do zamknięcia. Zgadywanie haseł na porcie 22 zaczyna się, gdy tylko adres jest aktywny, a logowanie tylko kluczem usuwa całą tę klasę ataków.
Root over SSH. Paste a public key at checkout and password login stays switched off; leave it empty and the team sets a temporary root password, shown in your dashboard, that you change at first login. Jeśli klucz wklejono przy zamówieniu, logowanie hasłem jest już wyłączone, a ten poradnik dodaje pozostałe ograniczenia. Jeśli dostało się tymczasowe hasło roota, trzeba je zmienić przy pierwszym logowaniu poleceniem passwd, zanim zrobi się cokolwiek innego. Według ankiety Gloamport dotyczącej 10 listopada 2026, 6 hostów przyjmuje Monero i nie pyta o e-mail przy rejestracji, więc na tych serwerach jedynymi sekretami chroniącymi maszynę są klucz SSH i numer konta.
Jak krok po kroku zabezpieczyć SSH na nowym VPS?
Wykonywać w tej kolejności, a pierwszą sesję zostawić otwartą do końca.
Utworzenie zwykłego użytkownika
Uruchomić
adduseri dodać użytkownika do grupysudo, aby przestać pracować jako root.Instalacja klucza publicznego dla tego użytkownika
Skopiować klucz autoryzowany do nowego użytkownika albo wykonać
ssh-copy-id -iz własnego komputera. Logowanie przetestować w drugim terminalu.Zapis pliku drop-in
Utworzyć
/etc/ssh/sshd_config.d/00-hardening.confz opcjami z tabeli. Debian dołącza ten katalog na początku sshd_config, a pierwsza wartość opcji wygrywa, więc nazwa musi sortować się wcześnie.Test konfiguracji
Uruchomić
sshd -t. Sprawdza plik konfiguracyjny i klucze bez restartowania czegokolwiek. Uruchomićsshd -T, aby wypisać obowiązujące wartości.Przeładowanie usługi
Zrestartować
sshi otworzyć nową sesję jako nowy użytkownik, zanim zamknie się starą.Sprawdzenie, czy logowanie roota i hasłem jest odrzucane
Spróbować zalogować się jako root oraz hasłem z innego terminala. Oba muszą się nie udać.
Jak utworzyć użytkownika sudo i przypisać mu klucz?
Utworzyć użytkownika, dodać go do grupy sudo i skopiować klucz autoryzowany konta root. Użyć klucza z Jak wygenerować klucz SSH dla VPS?, jeśli nie został jeszcze utworzony. Zamiast admin wpisać wybraną nazwę użytkownika.
adduser admin
usermod -aG sudo admin
mkdir -p /home/admin/.ssh
cp /root/.ssh/authorized_keys /home/admin/.ssh/authorized_keys
chown -R admin:admin /home/admin/.ssh
chmod 700 /home/admin/.ssh
chmod 600 /home/admin/.ssh/authorized_keysCo zawiera plik drop-in sshd_config?
Opcje umieścić w jednym pliku drop-in, aby aktualizacja pakietu ich nigdy nie nadpisała. Podręcznik sshd_config mówi, że dla większości słów kluczowych używana jest pierwsza uzyskana wartość, a plik Debiana dołącza /etc/ssh/sshd_config.d/*.conf na początku, więc prefiks 00- sprawia, że ten plik wygrywa z plikami takimi jak drop-in obrazu chmurowego.
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
AllowUsers admin
MaxAuthTries 3
LoginGraceTime 30sshd -t
sshd -T | grep -E "passwordauthentication|permitrootlogin|allowusers"
systemctl restart sshCzy zmienić port SSH lub dodać zaporę?
Inny port zmniejsza szum w logach, ale nie dodaje prawdziwego bezpieczeństwa, więc to opcja. Podręcznik pozwala ustawić go przez Port, a wiele linii Port jest dozwolonych. Po zmianie portu trzeba go otworzyć w zaporze, zanim zrestartuje się ssh. Pełna wirtualizacja KVM: własne jądro, własne reguły zapory i własne szyfrowanie dysku, o ile zostanie skonfigurowane, więc można korzystać z zapory, która najlepiej odpowiada potrzebom.
Gdy SSH jest już szczelny, kolejnymi warstwami są prywatny tunel (Jak skonfigurować WireGuard na VPS?) i zaszyfrowany wolumin danych (Czy można zaszyfrować dysk VPS przez LUKS?). Dusk, z 2 GB pamięci RAM, kosztuje $5.25 miesięcznie przy 12 miesiącach; zobacz stronę z cennikiem.
Podsumowanie
- Pracować jako użytkownik sudo, a nie jako root.
- Ustawić
PasswordAuthentication noiKbdInteractiveAuthentication no. - Ustawić
PermitRootLogin no, gdy użytkownik sudo już działa. - Użyć
AllowUsers, aby określić, kto może się logować. - Umieścić opcje w pliku drop-in, którego nazwa sortuje się jako pierwsza, na przykład
00-hardening.conf. - Przed każdym restartem uruchomić
sshd -ti zostawić otwartą drugą sesję. - Dusk kosztuje $5.25 miesięcznie przy 12 miesiącach.
Zabezpieczenie SSH na VPS: najczęstsze pytania
Co oznacza PermitRootLogin prohibit-password?
Pozwala rootowi logować się kluczem, ale nie hasłem. Podręcznik podaje to jako wartość domyślną, a no idzie o krok dalej.
Dlaczego zmiana w sshd_config nie działa?
Pierwsza wartość opcji wygrywa, a Debian najpierw dołącza katalog sshd_config.d. Wcześniejszy drop-in może ustawiać tę opcję, więc plik nazwać 00-hardening.conf i sprawdzić poleceniem sshd -T.
Jak przetestować konfigurację bez zerwania SSH?
Uruchomić sshd -t, który sprawdza tylko plik konfiguracji i klucze. Przy restarcie zostawić otwartą drugą sesję.
Czy trzeba wyłączać logowanie hasłem, jeśli klucz wklejono przy zamówieniu?
W Gloamport wklejony klucz już wyłącza logowanie hasłem. Ustawienie tych opcji w pliku drop-in zachowuje ten stan po aktualizacjach.
Co robi MaxAuthTries?
Ogranicza liczbę prób uwierzytelnienia na połączenie. Podręcznik podaje wartość domyślną 6, a ten poradnik ustawia 3.
Źródła (3)
- Strona podręcznika sshd_config(5) — Debian (checked 2026-11-10)
- Strona podręcznika sshd(8) (-t i -T) — Debian (checked 2026-11-10)
- Strona podręcznika ssh-copy-id(1) — Debian (checked 2026-11-10)