Az ssh egy remek dolog, de ha sok gépet használsz, sok jelszóval (mert nem egy jelszót használnunk ugye?), akkor el tudnak burjanozni a hostok, jelszavak, egyszóval a megjegyezendő dolgok. És még ha a jelszavak meg is vannak, ki szeret folyton gépelni? És miért kéne, amikor létezik gyorsabb, kényelmesebb és továbbra is biztonságos megoldás.
Config
A sok host, port, username és jelszó megjegyzése és felirása helyett van egy jobb opció, az ssh config fájl használata. Ez a fájl a unix környezetekben a home-od alatti .ssh mappaban, config néven található meg. Egy sima szöveges állomány, amivel lényegeben mini konfiguráciokat tudsz létrehozni különböző hostokra, ip címekre előre bekonfigurálva.
Hogy is néz ki egy ilyen bejegyzés?
Host pi-local
Hostname 192.168.1.73
Port 71
User scott
Ezek után már elég csak kiadni az ssh pi-local parancsot, a kliensünk máris tudni fogja, hogy milyen hostra/ip címre, milyen portra es milyen felhasználó névvel kell mennie.
Key
Ezzel azonban meg nem úsztuk meg a jelszó begépelését. Erre is van azonba megoldás, mégpedig a kulcs alapú azonosítás. Az ssh szerver ugyanis képes a szokásos user/jelszó páros mellett key alapú beléptetésre is.
Ehhez a következő előfeltételek kellenek:
- ssh szerver támogassa a key alapú belépést (be kell kapcsolni gyk.)
- kell generálni egy saját kulcsot
- a kulcs publikus részét fel kell juttatni a szerverre
Kulcsot így tudunk létrehozni:
ssh-keygen -t rsa
Az igy elkészült fájlok közül a .pub kiterjesztésüt kell felmásolni. Pontosabban elég a tartalmát bemásolni a szerveren a userunk home könytárában, a már emlitett .ssh rejtett mappában az authorized_keys szöveges fájlba. Alap esetben a szerver itt fogja keresni kulcs alapú belépéskor a publikus kulcspárt. Ha stimmel akkor be fog engedni.
Ha a szerveren nincs bekapcsolva ez, az /etc/ssh/sshd_config állományban tudjuk engedelyezni a kulcs alapú belépest, és itt tudjuk megadni azt is, hogy hol keresse a kulcsunkat. (Debin/Ubuntu disztrok esetén)