Cosmin L. Neagu

Nivel: Mediu
Data ultimei modificări: 2014.08.22

Îndrumar SSH

Terminal
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.

Parolă vs. Chei Criptografice

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.

Conectarea propriu zisă / comenzi

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

Configurare client SSH

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+.

Conținutul acestui site reflectă interese și preferințe personale. Nu sunt un expert în fiecare subiect atins. Nu prezint adevăruri ci perspective.

Email: cosmin (at) rohost.com

Social: Google+, Twitter, GitHub