KeyChain Mini-Howto
From FrugalWiki
Először is telepítenünk kell a keychain csomagot! (pacman -S keychain)
A következő lépésben létre kell hoznunk egy kulcsot. Egy kulcs két részből áll, egy nyilvános (public) és egy privát (private) részből. Ez a gyakorlatban két különböző fájlt jelent.
A kulcspár előállítását az ssh-keygen nevű program végzi. Adjuk ki az ssh-keygen -t dsa parancsot!
voroskoi@kavics ~ $ ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/home/voroskoi/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/voroskoi/.ssh/id_dsa. Your public key has been saved in /home/voroskoi/.ssh/id_dsa.pub. The key fingerprint is: ac:47:93:29:d2:c4:e1:85:47:5c:c1:36:93:74:e9:08 voroskoi@kavics
Ez előállítja nekünk a két kulcsot. A program megkérdezi, hová mentse a kulcsokat, itt elég ENTER-t ütni. Ezután kétszer meg kell adni a kulcs jelszavát. Fontos, hogy erős jelszót válasszunk. Legyen benne kis/nagybetű, szám, esetleg speciális karakterek is. A hossza legalább 10 karakter legyen! Mivel ezt a jelszót a keychain-nek köszönhetően minden indítás után elég egyszer megadnunk nem érdemes spórolnunk vele.
Ha a minden a terv szerint haladt, akkor most a ~/.ssh/ könyvtárunkban létrejött egy id_dsa és egy id_dsa.pub file.
voroskoi@kavics ~/.ssh $ ls -la összesen 7 drwx------ 2 voroskoi users 5 2005-04-13 13:39 ./ drwx--x--x 38 voroskoi users 67 2005-04-13 13:24 ../ -rw------- 1 voroskoi users 736 2005-03-01 21:25 id_dsa -rw-r--r-- 1 voroskoi users 605 2005-04-11 04:18 id_dsa.pub -rw-r--r-- 1 voroskoi users 230 2005-04-11 04:26 known_hosts
Nagyon boldogok vagyunk, de szeretnénk használni is a frissen előállított kulcsunkat. Ehhez nem kell mást tennünk mint kiadni a következő parancsokat:
scp ~/.ssh/id_dsa.pub felhasznalonev@tavoligep: ssh felhasznalonev@tavoligep cat id_dsa.pub >> ~/.ssh/authorized_keys rm id_dsa.pub exit
Fontos, hogy itt másoláskor (scp) és belépéskor (ssh) még nem használhatjuk a kulcsunk kulcsát, hanem a jelszavunkkal kell belépnünk. Ha nem rontottunk el semmit, akkor mostantól belépésnél a titkos kulcsunk jelszavát kéri a gép.
Itt jön a képbe a keychain. Az openssh csomagban található egy ssh-agent nevű program. Az ssh-agent kulcsok tárolását teszi lehetővé. A keychain végülis csak az ssh-agent használatát könnyíti meg, bővíti ki.
Most feltételezem, hogy bash-t használunk. Amennyiben más shellben szeretnénk beizzítani a keychaint akkor bátran használjuk a man keychain parancsot. :-) Fogjuk a kedvenc editorunkat és szerkesszük vele a ~/.bash_profile fájlt! A következő sorokat adjuk hozzá:
keychain -q id_dsa [ -f $HOME/.keychain/$HOSTNAME-sh ] && source $HOME/.keychain/$HOSTNAME-sh
Nem kell mást tennünk mint indítani egy terminált és beadni a kulcsunk jelszavát. A keychain innentől kezdve a gép leállításáig tárolja a kulcsokat (tehát kijelentkezés után is!). Ennek köszönhetően minden gépre -- amelynek ~/.ssh/authorized_keys fájljához hozzáadtuk a kulcsunk nyilvános részét -- be tudunk lépni jelszavunk megadása nélkül.
Akit jobban érdekel a téma, annak jó kiindulópont lehet ez az írás.