A biztonságos SSH (Secure Shell) kapcsolatokat kulcspárok alkalmazásával is létrehozhatjuk, amelyek sokkal biztonságosabbak, mint a hagyományos jelszavas hitelesítés. Ezen a blogon bemutatom, hogyan állítható be az SSH kulcspáros hitelesítés egy Ubuntu 18.04-es szerveren, valamint hogyan hozhatunk létre kulcsokat Kali Linux és Windows klienseken, hogy azok biztonságosan bejelentkezzenek a szerverre. A cél az, hogy jelszavas hitelesítés nélkül, csak kulcsokkal történhessen a bejelentkezés. Ez jelentősen növeli a rendszer biztonságát, mivel a jelszavak kikerülhetők a támadók számára.
Miért fontos a kulcspáros hitelesítés?
A jelszavas hitelesítés nem mindig a legbiztonságosabb megoldás, mivel a jelszavak könnyen kitalálhatók vagy ellophatók, különösen, ha gyenge jelszót használunk. Ezzel szemben a kulcspáros hitelesítés sokkal erősebb biztonságot nyújt, mivel egy privát kulcsot kell birtokolnunk, ami a szerveren lévő nyilvános kulcshoz illeszkedik. Ha a privát kulcsot nem osztjuk meg, akkor a támadók nem tudják hozzáférni a szerverhez, még akkor sem, ha a felhasználói jelszót ismerik.
1. Kulcspárok Generálása Kali Linux Kliens Oldalon
Első lépésként Kali Linux rendszeren generálunk egy SSH kulcspárt, amelyet később felhasználunk a bejelentkezéshez. A következő parancsok segítségével hozzuk létre a kulcsokat:
ssh-keygen
Miután futtattuk ezt a parancsot, a rendszer kéri, hogy adjunk meg egy fájlt, amelybe a kulcspárt elmentjük, illetve egy opcionális jelszót is hozzáadhatunk. A kulcspár két fájlból áll majd: egy privát kulcsból és egy nyilvános kulcsból. A privát kulcsot titokban kell tartanunk, míg a nyilvános kulcsot más gépeken kell elhelyeznünk, ahol be szeretnénk jelentkezni.
2. Nyilvános Kulcs Feltöltése az Ubuntu Szerverre
Miután generáltuk a kulcsokat, ideje feltölteni a nyilvános kulcsot az Ubuntu szerverre. Ehhez a következő parancsot használhatjuk:
ssh-copy-id username@remote_host
A fenti parancs segítségével a username helyére a szerveren található felhasználónevet, míg a remote_host helyére a szerver IP címét vagy hosztnevét kell beírni. Ez a parancs automatikusan hozzáadja a nyilvános kulcsot a szerveren lévő megfelelő felhasználó .ssh/authorized_keys
fájljához.
3. Jelszavas Hitelesítés Kikapcsolása az Ubuntu Szerveren
A következő lépésben ki kell kapcsolnunk a jelszavas hitelesítést az Ubuntu szerveren, hogy csak a kulcspáros hitelesítés legyen engedélyezve. Ehhez szerkesztenünk kell az /etc/ssh/sshd_config
fájlt. Nyissuk meg a fájlt egy szövegszerkesztővel, például a nano-val:
sudo nano /etc/ssh/sshd_config
A fájlban keressük meg a következő sort:
PasswordAuthentication yes
És módosítsuk a következőre:
PasswordAuthentication no
Ezután mentsük el a fájlt, majd indítsuk újra az SSH szolgáltatást:
sudo systemctl restart ssh
Most már csak a kulcsos hitelesítéssel lehet bejelentkezni a szerverre. A jelszavas hitelesítés le van tiltva.
4. Kulcspárok Generálása Windows Kliens Oldalon
Ha Windows rendszert használunk, a kulcspárok generálásához a PuTTYgen alkalmazást kell használnunk. A következő lépésekkel generálhatunk kulcsokat:
1. Töltsük le és telepítsük a PuTTYgen alkalmazást.
2. Nyissuk meg a PuTTYgen-t, majd válasszuk a Generate gombot a kulcsok létrehozásához.
3. Miután a kulcsok generálódtak, mentsük el őket, és a nyilvános kulcsot másoljuk be az Ubuntu szerver .ssh/authorized_keys
fájljába.
5. Jelszavas Hitelesítés Kikapcsolása Windows Klienssel
Miután beállítottuk a kulcsos hitelesítést a Windows gépen, ne felejtsük el biztosítani, hogy a PuTTY Pageant szolgáltatás fut, hogy a privát kulcsot a bejelentkezéshez használni tudjuk.
Most már a Windows gépről is kulcsos hitelesítéssel tudunk bejelentkezni az Ubuntu szerverre, ha a megfelelő kulcsok és szolgáltatások be vannak állítva.
Összegzés
A kulcspáros hitelesítés beállítása az SSH kapcsolatokhoz jelentősen növeli a rendszer biztonságát, mivel a jelszavas támadások ellen is védelmet nyújt. Az Ubuntu szerverekhez való hozzáférés kulcsos hitelesítéssel, valamint a Kali Linux és Windows kliensek használata segít biztonságosabbá tenni a bejelentkezést. Ne feledkezzünk meg arról, hogy a jelszavas hitelesítést mindenképp tiltsuk le, hogy csak azok férhessenek hozzá a szerverhez, akiknek megfelelő kulcsaik vannak.