Nivel: Mediu
Data ultimei modificări: 2014.08.22
SSH este un utilitar pentru transfer de date, login sau execuție
de comenzi de la distanță sau alte servicii ce implică două calculatoare
conectate în rețea. Fiind un utilitar extrem de folosit pentru lucrul
în rețea e necesar să știm măcar ce anume se poate face cu ajutorul lui.
Voi prezenta opțiuni și comenzi folosite de mine în mod uzual fără să
explic fiecare element în parte. La nevoie puteți folosi google pentru
a afla detalii.
Pe lângă accesul uzual cu parolă prin SSH se poate folosi și accesul cu
ajutorul cheilor criptografice. Această metodă de acces prezintă
siguranță sporită dar este și mult mai comodă, practic eliminând
nevoia de a ține minte zeci de parole pentru diverse situații.
ssh-keygen # crează o pereche de chei (privată și publică)
# ~/.ssh/id_rsa # cheia privată
# ~/.ssh/id_rsa.pub # cheia publică
Cheia privată nu se înstrăinează niciodată. Conținutul cheii publice
va fi copiat în ~/.ssh/authorized_keys pe toate calculatoarele
la care doriți să aveți acces direct, fără parola.
Atenție: La crearea perechii de chei SSH puteți folosi o parolă.
Această parolă este folosită pentru sigurnață cheii private generate și
nu are absolut nici o legătură cu parola de pe propriul calculator sau
de pe calculatoarele la care urmează să vă conectați.
Mai jos puteți vedea o serie de comenzi SSH uzuale:
# conectare la serverul rohost.com folosind user-ul root
ssh root@rohost.com
# se executa comanda uptime pe serverul rohost.com
ssh root@rohost.com uptime
# copiază fișierul arhivă.zip pe serverul rohost.com în directorul /home/rohost
scp arhiva.zip root@rohost.com:/home/rohost/
# copiază fișierul arhiva.zip de pe serverul rohost.com în directorul curent
scp root@rohost.com:/home/rohost/arhiva.zip ./
# copiază întreg subdirectorul arhivă pe server în directorul /tmp
scp -r arhiva rohost.com:/tmp
Fișierul de configurare client conține preferințele de comportament
al SSH-ului folosit. Practic toate comenzile din config pot fi
executate și direct din linia de comandă însă odată salvate aici vor
fi luate în calcul la fiecare execuție SSH.
# ~/.ssh/config
ForwardAgent yes
Host git
User git
HostName git.rohost.com
Compression no
Pentru comenzi mai avansate puteți urmări secțiunea SSH+.