Letölthető szinte minden Linux-os ftp szerverről, illetve a készítő, az SSH Communications[21] honlapjáról, de elérhető már az OpenSSH[23] is, amely megoldást jelent az egyre égetőbb copyright problémákra, illetve az OpenBSD[22] szelleméhez híven átgondoltabb, optimalizált és auditált.
Az ssh használata már csak a szolgáltatásai miatt is ajánlott. A -C paraméter megadásával lehetséges az adatok tömörített átvitele, a sávszélesség kímélése céljából.
Képes kapcsolatokat forwardolni, így a távoli felhasználók több szolgáltatás használata esetén sem kommunikálnak kódolatlanul. Például:
$ ssh -a -f -L port2:tavoli_host:port1 tavoli_host -l usernev program
Távoli gépen X programokat indítva a DISPLAY változó értékét megváltoztatja a saját gépünk X konzoljának címére és automatikusan forwardolja a kapcsolatot.
Helyettesítheti az rsh/rlogin parancsokat. File átvitelre ftp vagy rcp helyett használhatjuk az ssh scp parancsát is:
$ scp forraskonyvtar/file tavoli_host:celkonyvtar/
vagy több file és könyvtárak másolása esetén:
$ scp -r forraskonyvtar/* tavoli_host:celkonyvtar/
Kiválthatjuk vele az rexec-et is a következő módon:
$ ssh tavoli_host parancs
Bármely host-ra feltehető a nyilvános kulcsunk is, így megoldható a jelszókérés nélküli bejelentkezés az adott gépre (hasonlóan a .rhosts használatához) a következőképp:
$ ssh-keygen Initializing random number generator... Generating p: .................................++ (distance 432) Generating q: .................++ (distance 294) Computing the keys... Testing the keys... Key generation complete. Enter file in which to save the key (/home/sragli/.ssh/identity): Enter passphrase: Enter the same passphrase again: Your identification has been saved in /home/sragli/.ssh/identity. Your public key is: 1024 35 1279179370417302320936584570752190029364958051144523244552 ... Your public key has been saved in /home/sragli/.ssh/identity.pub $ scp .ssh/identity.pub usernev@tavoli_host: $ ssh -l usernev tavoli_host $ cat identity.pub >> .ssh/authorized_keys $ chmod 600 .ssh/authorized_keys
Ha megadtuk a passphrase-t, bejelentkezéskor kérni fogja. A jó passphrase kb. 10-30 karakter hosszú. Érdemes valami könnyen megjegyezhető - de azért kellően bonyolult - mondatot vagy kifejezést választani, mert ha egyszer elfelejtettük, nincs mód a visszaállítására.
Az ssh-agent-tel lehetőség van a kulcsok központi elosztására,
amely egy nagyobb cég hierarchikus szabályainak betartását is lehetővé
teszi.
Minden kapcsolat kezdetekor azonosítja a másik oldalt, így csökken a DNS vagy az IP spoofing veszélye. Korlátozott védelmet nyújt a man-in-the-middle jellegű támadások ellen, mivel a kapcsolat kezdetétől kódoltan folyik a kommunikáció. A kapcsolat elrablása ellen ugyan nem véd, de ha az elkövető nem a kapcsolat kezdetekor lép be a vonalba, akkor érdemi információ birtokába nem juthat, hacsak nem ismeri mindkét fél kulcsait, amelyek a kódolás feloldásához szükségesek. Ezek azonban óránként újragenerálódnak és nem tárolódnak file-okban.
Ha az adott host-tal még nem folytattunk kommunikációt vagy valami nincs rendben vele (pl. a host nevéhez tartozó IP cím nem egyezik a tárolttal), a kapcsolat kezdeményezése előtt figyelmeztet.
Ha szeretnénk beállítani, hogy csak arra jogosultak használják a szolgáltatást, megtehetjük ezt a /etc/ssh/sshd_config-ban az AllowUsers, AllowGroups és AllowHosts opciók segítségével user, group és host szerint. Amennyiben az sshd tcp-wrapper-rel lett fordítva, az utóbbi beállítására lehetőségünk van a /etc/hosts.allow és /etc/hosts.deny-ben a már előzőleg leírt módon. Ennek előnye, hogy a módosítások érvénybe léptetéséhez az sshd-t nem kell újraindítani.