Az SSH szerver biztonság erősítése néhány beállítás átírásán múlik, amelyeket az sshd konfigurációs fájljában találsz. A legfontosabb a kulcsos belépés, a root tiltása és a bejelentkezések korlátozása. Ez a cikk tíz beállítást mutat be az OpenSSH hivatalos kézikönyve alapján. Közben azt is megtanulod, hogyan kerüld el, hogy kizárd magad a saját szerveredből.
- Az SSH szerver biztonság erősítése az sshd_config beállításain keresztül történik.
- Először kulcsos belépést állíts be, és csak utána tiltsd a jelszót.
- Minden módosítás előtt készíts másolatot a konfigurációról.
- Újraindítás előtt futtasd az sshd -t tesztet.
Ha még nincs kulcspárod, kezdd az SSH-kulcs generálása Linuxon jelszó helyett cikkel. A szerver teljes védelméről a Iptables: a Linux tűzfalrendszer áttekintése szól. Az alapértékek a kézikönyv szerint az upstream OpenSSH-ra vonatkoznak, a disztribúciód eltérhet. A tesztelés lépéseit is megmutatjuk.
Miért fontos az SSH szerver biztonság erősítése?
Az SSH szerver biztonság erősítése azért fontos, mert az sshd a gép egyik fő bejárata. A kézikönyv szerint az sshd titkosított kapcsolatot ad két, egymásban nem bízó gép között. Ha a belépés gyenge, a titkosítás sem véd. Ezért érdemes a jelszavas belépést kulcsra cserélni, és a hozzáférést szűkíteni.
Az OpenSSH alapértelmezései sok esetben már kedvezőek. A root belépés alapból csak kulccsal engedélyezett, az üres jelszó tiltott. A jelszavas belépés viszont alapból engedélyezett. Az alapértékeket ezért érdemes kézzel átnézni.
Melyik beállítás mire való?
A kézikönyv minden beállításhoz megadja az alapértéket, és ezek eltérhetnek a disztribúció saját konfigurációjától. A táblázat a hat legfontosabb beállítást foglalja össze, az alapértékekkel együtt. Az utolsó oszlop a javasolt irányt mutatja, nem kötelező értéket. A pontos értékeket a saját rendszeredhez és a szereped igényeihez igazítsd.
| Beállítás | Alapérték a kézikönyv szerint | Javasolt irány |
|---|---|---|
| PermitRootLogin | prohibit-password | no |
| PasswordAuthentication | yes | no, a kulcsok beállítása után |
| PermitEmptyPasswords | no | maradjon no |
| MaxAuthTries | 6 | kisebb érték, például 3 |
| LoginGraceTime | 120 másodperc | rövidebb idő |
| X11Forwarding | no | maradjon no |
A további beállítások, például az AllowUsers, a MaxStartups és a DebianBanner, a cikk további részeiben szerepelnek. Az idézett alapértékek az upstream kézikönyvből származnak. A saját gépeden ezért érdemes megnézni a tényleges értékeket.
Hogyan készülj fel az sshd módosítására?
Az Ubuntu dokumentációja szerint egy hibás beállítás után kizárhatod magad a szerverről. Ha csak SSH-n érsz el egy gépet, ez komoly gond. Az sshd akár el sem indul, ha hibás direktívát kap. Ezért a módosítás előtt mindig készíts másolatot, és tarts nyitva egy működő munkamenetet.
Az Ubuntu dokumentációja ezt a másolatot javasolja:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original
Az Ubuntu alapkonfigurációja a fájl tetején betölti az sshd_config.d könyvtár .conf fájljait. A dokumentáció szerint az OpenSSH a legtöbb direktívánál az első értéket használja. Ezért az itt megadott beállítások felülírják a fő fájlét. A módosítás után tesztelj, és csak utána indítsd újra a szolgáltatást:
sudo sshd -t
sudo systemctl restart ssh.service
Az sshd kézikönyve szerint a -t kapcsoló a konfiguráció érvényességét ellenőrzi. A -T kapcsoló a ténylegesen érvényes beállításokat írja ki. Ez segít, ha több fájl is érintett. Nyisd meg az új kapcsolatot egy második terminálban, mielőtt a régit bezárod.
Hogyan erősítsd a belépést?
A belépés védelme négy beállításon áll. Ezek a kulcsos belépés, a jelszó és a root tiltása, valamint az üres jelszó tiltása. A kézikönyv szerint a kulcsos belépés alapból engedélyezett. A jelszót csak akkor tiltsd, ha a kulcs már működik, különben kizárhatod magad.
- PubkeyAuthentication yes: a kulcsos belépés engedélyezése, ez az alapérték.
- PasswordAuthentication no: a jelszavas belépés tiltása a kulcsok beállítása után.
- PermitRootLogin no: a root belépését teljesen tiltja.
- PermitEmptyPasswords no: tiltja az üres jelszavú fiókokat, ez az alapérték.
A PermitRootLogin alapértéke a kézikönyv szerint prohibit-password. Ilyenkor a root jelszóval nem léphet be, csak kulccsal. A no érték ennél szigorúbb. Normál felhasználóval lépj be, és használd a sudo parancsot.
A tiltásokat egy kis konfigurációs fájlba is teheted, például az sshd_config.d könyvtárba:
PasswordAuthentication no
PermitRootLogin no
A KbdInteractiveAuthentication alapértéke a kézikönyv szerint yes. Nézd meg ezt is, ha a jelszavas belépést teljesen le akarod zárni. A Hogyan használjuk a Remmina-t a távoli asztali munkához cikk a kapcsolódás alapjait mutatja.
Hogyan korlátozd, ki és meddig léphet be?
A korlátozás három szinten működik: ki léphet be, hányszor próbálkozhat, és meddig tarthat a belépés. Az AllowUsers vagy az AllowGroups csak a felsorolt felhasználóknak vagy csoportoknak engedi a belépést. A kézikönyv szerint alapból minden felhasználó beléphet. Egy szerveren általában elég néhány nevet felsorolni.
- AllowUsers vagy AllowGroups: csak a felsorolt nevek léphetnek be.
- MaxAuthTries: a próbálkozások száma kapcsolatonként, az alapérték 6.
- LoginGraceTime: ennyi ideig várja a belépést, az alapérték 120 másodperc.
- MaxStartups: a belépés előtti egyidejű kapcsolatok száma, az alapérték 10:30:100.
A MaxAuthTries kézikönyv-leírása szerint a hibák számának fele után további hibák is naplózásra kerülnek. A LoginGraceTime 0 értéknél nincs időkorlát, ezt kerüld. A MaxStartups a hitelesítés nélküli kapcsolatok számát korlátozza, és a határ elérése után eldobja az újakat.
A kapcsolódó védelemről a fail2ban telepítése és beállítása cikkben olvashatsz. A zárt hálózatról az WireGuard VPN szerver telepítése Linuxon szól. Ha a szerver áramellátását is védenéd, nézd meg az UPS beállítása Linux szerveren cikket.
Mit kapcsolj ki, amire nincs szükséged?
Amit nem használsz, azt érdemes kikapcsolni, mert kisebb a támadási felület. A kézikönyv szerint az X11 továbbítás alapból tiltott, és ez maradjon így. A bekapcsolása plusz kitettséget jelenthet a szerver és a kliens képernyője felé. A TCP továbbítás alapból engedélyezett.
- X11Forwarding no: az alapérték, ne kapcsold be, ha nincs rá szükség.
- AllowTcpForwarding no: tiltja az összes TCP továbbítást.
- DebianBanner no: elrejti az operációs rendszer adatait az üdvözlőüzenetből.
A kézikönyv figyelmeztet, hogy az AllowTcpForwarding tiltása önmagában nem növeli a biztonságot. A felhasználók ugyanis saját továbbítót is telepíthetnek, ha van shell hozzáférésük. Ezért ezt a beállítást a felhasználók korlátozásával együtt érdemes használni.
Az Ubuntu dokumentációja szerint a DebianBanner no beállítással az üdvözlőüzenetből eltűnik az operációs rendszer neve. A verziószám marad. Az ellenőrzést a dokumentáció az nc -nv 127.0.0.1 22 paranccsal mutatja be.
Hogyan ellenőrizd az sshd változtatását?
A módosítás után három dolgot ellenőrizz: a konfiguráció érvényességét, az újraindítást és az új belépést. Az sshd -t jelzi a hibát, a systemctl status ssh.service mutatja a szolgáltatás állapotát. Az új belépést második ablakban próbáld ki. Ha ez sikerül, a régi munkamenetet bezárhatod.
Hiba esetén az Ubuntu dokumentációja az élő naplót javasolja:
sudo journalctl -fu ssh.service
A napló valós időben mutatja, miért utasít el az sshd egy belépést. Ha a gond a kulcs jogosultsága, az authorized_keys fájlra csak a hitelesített felhasználónak lehet írási joga. A kulcs fájl jogosultságát a chmod go-w .ssh/authorized_keys paranccsal állíthatod be.
Gyakran ismételt kérdések
Mi az SSH szerver biztonság erősítése lényege?
Az SSH szerver biztonság erősítése a belépés szigorítása az sshd beállításain keresztül. A fő lépések a kulcsos belépés, a jelszó tiltása és a root tiltása. Ide tartozik a belépők és a próbálkozások korlátozása is. Minden módosítás előtt készíts másolatot.
Biztonságos az SSH alapbeállításokkal?
Részben. A kézikönyv szerint a root alapból csak kulccsal léphet be, és az üres jelszó tiltott. A jelszavas belépés viszont alapból engedélyezett. Az alapértékek disztribúciónként eltérhetnek.
Mikor tiltsam le a jelszavas belépést?
Csak akkor, amikor a kulcsos belépés már működik. Ha előbb tiltod le a jelszót, kizárhatod magad. A tiltás előtt próbáld ki a kulcsos belépést egy második ablakban. A kulcs létrehozását külön cikk mutatja be.
Letilthatom a root belépést?
Igen, a PermitRootLogin no beállítással. A kézikönyv szerint az alapérték prohibit-password, ilyenkor a root csak kulccsal léphet be. A no érték ennél szigorúbb. Normál felhasználóval lépj be, és használd a sudo parancsot.
Hogyan ellenőrizzem az sshd beállításait?
Az sshd -t paranccsal ellenőrizheted a konfigurációt újraindítás előtt. Az sshd kézikönyve szerint a -T kapcsoló a ténylegesen érvényes beállításokat írja ki. A módosítás után indítsd újra a szolgáltatást. Az új belépést második ablakban próbáld ki.
Mit csináljak, ha kizártam magam?
Ha csak SSH-n érted el a gépet, a hibát a szerver konzolján kell javítani. Az Ubuntu dokumentációja szerint a hibás beállítás miatt az sshd el sem indulhat. Ezért tarts nyitva egy működő munkamenetet. Az eredeti konfiguráció másolata gyors visszaállítást ad.
Hol vannak a beállítások az Ubuntun?
A fő fájl az /etc/ssh/sshd_config. Az Ubuntu alapból betölti az /etc/ssh/sshd_config.d könyvtár .conf fájljait is. A dokumentáció szerint ezek felülírják a fő fájl beállításait. A saját módosításokat érdemes ide tenni.
Szerző: a Linuxinfok szerkesztősége. Utolsó frissítés: 2026-11-10. A parancsok a hivatalos dokumentáció alapján készültek, futtatás előtt ellenőrizd az aktuális oldalt.
Források és referenciák
- sshd_config(5) – az OpenSSH szerver beállításai
- sshd(8) – az OpenSSH szerver kézikönyve
- Ubuntu Server dokumentáció: OpenSSH szerver
- Kép forrás: Pexels.com