Iz:http://www.pingo.org/dok/ssh/
PrenosPrenos DokumentacijaDokumentacija Pogosta vprašanjaPogosta vprašanja
Site Navigation:

Uporaba ssh

Varna lupina ssh (secure shell) je orodje za dostop do oddaljenih računalnikov. Je varno nadomestilo za telnet in ftp, saj omogoča šifrirano komunikacijo in preverjanje identitete uporabnika in računalnika. Izkaže se kot zelo primerno orodje za upravljanje gruče računalnikov, npr. računalniške učilnice. Pred varno in udobno uporabo pa zahteva nekaj priprave.

Generiranje ključa

Najprej je potrebno generirati par javni/privatni ključ uporabnika z ukazom:
   ssh-keygen -t rsa
Privatni ključ je zaščiten z daljšim geslom (passphrase), ki ga moramo na zahtevo dvakrat vnesti. S tem geslom ob poznejši uporabi aktiviramo zasebni ključ in tako "dokažemo" svojo identiteto, zato ga moramo skrbno izbrati. Možna je tudi uporaba praznega gesla, vendar ni priporočljiva.

Oba ključa se shranita v imeniku:

   ~/.ssh/id_rsa       (privatni)
   ~/.ssh/id_rsa.pub   (javni)

Distribucija javnega ključa

Svoj javni ključ id_rsa.pub lahko prenesemo na vse računalnike, do katerih želimo oddaljen dostop. Prepišemo ga v datoteko authorized_keys in jo zaščitimo, da je berljiva le za nas:
   cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
   chmod 600 ~/.ssh/authorized_keys
Datoteka authorized_keys na oddaljenem računalniku nas avtorizira za ssh dostop, ob predpostavki, da smo prej aktivirali svoj privatni ključ, ki ustreza javnemu ključu v datoteki.

Aktivacija privatnega ključa

Predpostavljamo, da na računalniku, kjer imamo shranjen privatni ključ, delamo v grafičnem (X oz. KDE, GNOME, ...) okolju. Privatni ključ aktiviramo z ukazom:
   ssh-add
svojo identiteto pa dokažemo z vnosom izbranega daljšega gesla. Grafično okolje (natančneje, ssh-agent) si ključ zapomni in ponovna aktivacija ni več potrebna do odjave iz lokalnega sistema.

Uporaba

Prijava na oddaljen računalnik (nadomesti telnet)

Zdaj se lahko brez dodatnega vnašanja gesel prijavimo na vsak oddaljen računalnike, kamor smo distribuirali naš javni ključ, n.pr.:
   ssh root@dhcp3.sola.si
Če smo lokalno prijavljeni kot root in je oddaljen računalnik na isti podmreži kot lokalni, zadošča poenostavljeno:
   ssh dhcp3

Prenašanje datotek (nadomesti ftp)

Ukaz scp lahko pod enakimi pogoji kot ssh uporabimo za prenos datotek.
N.pr., v datoteki posodobi.sh imamo skripto za posodobitev paketov, ki jo prenesemo iz lokalnega na oddaljen računalnik:
   scp posodobi.sh dhcp3:/usr/local/sbin/posodobi.sh

Izvajanje programov

Preko ssh lahko izvršujemo ukaze in poganjamo programe na oddaljenih računalnikih.
Na daljavo lahko n.pr. sprožimo posodobitev paketov:
   ssh dhcp3 /usr/local/sbin/posodobi.sh

Upravljanje gruče računalnikov

Zdaj že postaja razvidno, kako lahko z enostavnimi lupinskimi skriptami na daljavo upravljamo z množico računalnikov.
Sledeča skripta n.pr. poskrbi za posodobitev celotne mini učilnice:
   HOSTS='dhcp1 dhcp2 dhcp3 dhcp4 dhcp5 dhcp6'
   for HOST in $HOSTS
   do
      ssh $HOST /usr/local/sbin/posodobi.sh
   done

Nadaljnje branje

Tu sem predstavil le minimalne osnove uporabe in potencial ssh.
Za bolj podroben, vendar še vedno poljuden opis poglejte v knjigo Linux z namizjem KDE.
Za natančne tehnične podrobnosti pa nameščena navodila man ssh, scp, ssh-keygen, ssh-add, sshd, ssh_config.

Igor Mozetič


Zadnja sprememba: 22.05.2005 ob 20:33 CEST