Újabb linuxos poszttal jelentkezem. Az előzőben időt állítottunk, a mostaniban, pedig kicsit biztonságosabbá tesszük az SSH kapcsolaton keresztül történő bejelentkezésünket.
Első lépésben generálok egy SSH kulcsot, erre a Windowsos puttygen nevű programot használom. A puttygen letölthető innen! A generate gombra kattintás után az üres területen rángassuk az egeret, ahogyan a figyelmeztető szöveg is mutatja.
Miután a generálás befejeződött elmenthetjük a publikus és privát kulcsrészeket, amihez lehet jelszót is beállítani a key passphrase, és a megerősítő mezőjének kitöltésével, ezzel tovább fokozva a biztonságot.
Második lépésként a korábban megadott linkről töltsük le a pageant nevű programot, és indítsuk el. Ide lehet a kulcs publikus részét betölteni, hogy jelszó nélkül tudjunk belépni. A programot a start menü ikonjai között találjuk.
A pageant a betöltött kulccsal
Harmadik lépésünk a kulcs felmásolása. Mivel még a hagyományos jelszavas belépés még működik, valamilyen SFTP klienssel másoljuk fel a kulcs publikus részét a szerverünkre. Erre a WinSCP programot szoktam használni.
A negyedik lépés a publikus kulcs előkészítése és végleges helyére másolása. Ha új felhasználóhoz szeretnénk a kulcsot adni és még nincs ilyen felhasználónk, akkor adjuk hozzá az “adduser <felhasználó>” paranccsal. Ha már megvan a felhasználónk, akkor a következő dolgokat kell elvégezni vele.
- A home könyvtárába hozzunk létre egy “.ssh” könyvtárat a “mkdir .ssh paranccsal”.
- Hozzunk létre a “.ssh” mappába egy authorized_keys nevű fájlt a következő paranccsal: “touch authorized_keys”
- A létrehozott fájlba másoljuk be a publikus kulcsunk tartalmát a következő formára hozva. A fájlunk egy sor lesz valami hasonló tartalommal: “ssh-rsa <a kulcsunk tartlama egysorba rendezve>”.
például: “ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAydC5lpp+dLyLrMz0GM1uUdiOsy2WVAOIejUYm4krtQjkZcO9EblWLGX2AMwNRelXEphec3lfncnSODEtTKvJB5yiR3hai+9YeFia3tLvWHo6IO7JwdpLwbci5518f6RvPKDgVMwHl6/6v15mDCBVVrVhEanz8Js5KeJ4VY/hEUM=” - Állítsuk be a könyvtár és a fájl jogosultságait a chown parancs segítségével. például: “chown -R tesztuser:tesztuser .ssh”
A végső lépésben be kell állítani, hogy az SSH szerverünk csak a kulccsal rendelkező felhasználókat engedje belépni, ezeket a módosításokat a “/etc/ssh/sshd_config” fájban kell módosítani.
- PubkeyAuthentication yes (engedélyezi a kulcsos bejelentkezéset)
- PermitEmptyPasswords no (amennyiben yes lenne)
- PasswordAuthentication no (letiltja a jelszabas bejelentkezést)
- PermitRootLogin no (tiltja a root userrrel történő belépést)
- Én a portot is át szoktam rakni a 22-esről, de ez nem kötelező, csak a biztonságot növeli tovább.
Ezután már csak újra kell indítani a ssh szervert a “/etc/init.d/ssh restart” paranccsal.
A tesztelés után a felhasználói nevünket beírva a következőt kell lássuk:
login as: <felhasználói név>
Authenticating with public key “<kulcs azonosító>” from agent
<motd üzeneted>
<prompt>
Amennyiben kulcs nélkül próbálsz belépni a következő üzenetet kapod:
Remélem menni fog mindenkinek, külön köszönet az ötletért, Bence kollégámnak, aki az ötletgazda volt mert hiányolta a repertoárból.