Ebben a cikkben megvizsgáljuk, hogy SSH és SCP segítsége nélkül nyilvános kulccsal OpenSSH Agent-el, hogyan tudunk belépni távoli gépre.
Két biztonsági szintet különböztet meg az OpenSSH kulcs hitelesítés:
Nincs passphrase – A kulcspár létrehozása közben üresen hagyjuk a passphrase részt. Ezt akkor érdemes alkalmazni, ha crontab-ba ütemezve van távoli gépre bejelentkezés, majd fájlmásolás.
Alkalmazunk passphrase-t
Következő lépésekben ismertetem, hogyan alakítjuk ki a kulcspárokat és azokat hová kell elhelyezni a helyi- és távoli gépen.
1. Ellenőrizzük le, hogy fut-e az OpenSSH a gépeken:
[helyigép] $ ssh-V OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008 [távoligép]$ ssh -V OpenSSH_4.3p2, OpenSSL 0.9.8e_fips-thel5 01 Jul 2008
2. Kulcspár generálása a helyigépen
[helyigép]$ ssh-keygen\ Generating public/private rsa key pair. Enter file in which to save the key (/home/nemetkr/.ssh/id_rsa):<Üss egy entert!> Enter passphrase (empty for no passphrase): <Add meg a passphrase-t!> Enter same passphrase again:<Add meg a passphrase-t megint!> Your identification has been saved in /home/nemetkr/.ssh/id_rsa. Your public key has been saved in /home/nemetkr/.ssh/id_rsa.pub. The key fingerprint is:31:3a:5d:dc:bc:81:81:71:be:31:2b:11:b8:e8:39:a0 nemetkr@localhost
A nyilvános kulcs és a privát kulcs alapértelmezetten a felhasználó home könyvtárának az ssh rejtett könyvtárába helyezi. Szintén alapértelmezett, hogy az OpenSSH RSA kulcspárt generál. DSA kulcspár generálásához ssh-keygen -t dsa kapcsolókat kell használni.
3. Telepítsük a nyilvános kulcsot a távoli gépre
Másold a generált nyilvános kulcsot a távoli gép felhasználója alatt lévő .ssh könyvtárjába, vagyis /home/nemetkr/.ssh/authorized_keys mappába az id_rsa.pub fájlt.
Nyilván ha nem létezik a felhasználó létre kell hozni és ha nem létezik a .ssh könyvtár szintén létre kell hozni.
4. Hozzáférések beállítása
[távoligép]$ chmod 755 ~/. ssh [távoligép]$ chmod 644 ~/.ssh/authorized_keys
5. Bejelentkezés a helyi gépről a távoli gépre ellenőrzés céljából
[helyigép]$ <A helyi gépen vagyunk!> [helyigép]$ ssh -l nemetkr remotehost
Enter passphrase for key /home/nemetkr/.ssh/id_rsa: <Add meg a passphrase-t!>
Last login: Fri Jul 03 2009 01:03:04 -0700 from 192.168.1.101
No mail. [távoligép]$ <A távoli gépen vagyunk!>
6. SSH Agent indítása a helyi gépen – egyelőre még kér jelszót
Az SSH Agent futásának ellenőrzése:
[helyigép]$ ps -ef | grep ssh-agent
511 9734 9135 0 00:05 pts/1 00:00:00 grep ssh-agent
7. Privát kulcs hozzáadása a helyi gépen az SSH Agent-hez
[helyigép]$ ssh-add
Enter passphrase for /home/nemetkr/.ssh/id_rsa: <Add meg a passphrase-t!>
Identity added: /home/nemetkr/.ssh/id_rsa (/home/nemetkr/.ssh/id_rsa)
ssh-add további lehetőségei:
- ssh-add ‘kulcsfájlneve’ : Hozzáadja a kulcsfájlt
- ssh-add-l : Kilistázza a hozzáadott kulcsfájlokat
- ssh-add-d ‘kulcsfájlneve’: Törli a kulcsfájlt
- ssh-add-D : Törli az összes kulcsfájlt
8. Távoli gépre jelszó nélküli SSH és SCP bejelentkezés
[helyigép]$<A helyi gépen vagyunk!> [helyigép]$ ssh -l nemetkr távoligép
Last login: Fri Jul 03 2009 15:03:04 -0700 from 192.168.1.101
No mail. [távoligép]$ <A távoli gépen vagyunk!>