SSH biztonságossá tétele Linux VPS-en

Szerző: ONIE mérnöki csapat · Frissítve: 2026. november 12. · 2 perces olvasás

Egy nyilvános VPS perceken belül automatikus bejelentkezési kísérleteket kap. Az alábbi lépések jelentősen megnehezítik az SSH elleni támadásokat. Ubuntu és Debian rendszerhez készültek. Ha még nincs szervere, Linux VPS bérlése és tiszta rendszerképről indulhat. Ne zárja be a jelenlegi SSH-munkamenetet, amíg az új beállításokat egy második ablakból nem tesztelte.

1. Normál felhasználó létrehozása sudo jogosultsággal

adduser deploy
usermod -aG sudo deploy

2. SSH-kulcsok használata jelszavak helyett

A saját számítógépén:

ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IP

Kulccsal jelentkezzen be egyszer, hogy ellenőrizze a működését, mielőtt kikapcsolja a jelszavas bejelentkezést.

3. Jelszavas és root bejelentkezés letiltása

Hozza létre a /etc/ssh/sshd_config.d/99-hardening.conf fájlt:

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

Ellenőrizze a szintaxist, majd töltse újra a szolgáltatást. Ubuntu és Debian alatt a szolgáltatás neve ssh, RHEL-alapú rendszereken sshd:

sudo sshd -t && sudo systemctl reload ssh

Nyisson meg egy második terminált, és jelentkezzen be újra. Csak ezután zárja be a régi munkamenetet.

4. Tűzfal engedélyezése

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

Csak a szükséges portokat nyissa meg, például 80-at és 443-at webszerver esetén. Az SSH-t a felhőkonzolban beállított tűzfalszabállyal a saját IP-címére is korlátozhatja.

5. Ismétlődő hibás belépések blokkolása Fail2bannel

sudo apt install -y fail2ban

Hozza létre a /etc/fail2ban/jail.local fájlt:

[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

6. Biztonsági frissítések automatikus telepítése

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

7. Opcionális kiegészítések

  • Az SSH-port módosítása csökkenti a naplózott zajt, de önmagában nem biztonsági intézkedés.
  • Védje a privát kulcsot jelmondattal, és tartson róla biztonságos helyen biztonsági mentést.
  • A bejelentkezéseket a last és a sudo journalctl -u ssh --since today paranccsal ellenőrizheti.
  • Amint a szerver beállítása kész, készítsen pillanatképet, hogy később tiszta kiindulási állapotot állíthasson vissza.

Ha kizárta magát, használja a felhőpanel böngészős konzolját a bejelentkezéshez és a konfiguráció javításához. A DDoS-védelemről szóló útmutatónk a következő védelmi réteggel foglalkozik.

Gyakran ismételt kérdések

Biztonságos letiltani a root bejelentkezést?

Igen, ha előbb létrehoz egy sudo felhasználót, és ellenőrzi, hogy annak kulcsa működik. Az adminisztratív parancsokat ezután is futtathatja sudo segítségével.

Szükségem van Fail2banre, ha csak kulcsokat használok?

Nem kötelező. Jelszavas bejelentkezés nélkül a brute force támadás nem járhat sikerrel, de a Fail2ban csökkenti a naplózott zajt és a terhelést.

Mit tegyek, ha elvesztettem az SSH-kulcsomat?

Használja a felhőpanel konzolját a bejelentkezéshez, adjon hozzá egy új nyilvános kulcsot a ~/.ssh/authorized_keys fájlhoz, majd törölje a régit.

Források és további olvasnivaló

További VPS-útmutatók