máj 25

Jelszó nélküli SSH bejelentkezés

Ú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.

  1. A home könyvtárába hozzunk létre egy “.ssh” könyvtárat a “mkdir .ssh paranccsal”.
  2. Hozzunk létre  a “.ssh” mappába egy authorized_keys nevű fájlt a következő paranccsal: “touch authorized_keys”
  3. 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=”
  4. Á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.

Vélemény, hozzászólás?