SSH – autentificare fară parolă

Considerăm situația ilustrată în imaginea de mai jos, in care avem 3 servere care ruleaza freeBSD/linux:

  • Server A cu adresa IP 192.168.99.11 (/24)
  • Server B cu adresa IP 192.168.99.12 (/24)
  • Server C  cu adresa IP 192.168.99.13 (/24)

Toate aceste servere sunt conectate prin intermediul unui switch ethernet, în care avem conectat si un PC care ruleaza freeBSD, cu adresa IP 192.168.99.5 (/24).

retea-ssh-keygenDe pe PC vom iniția sesiuni SSH către servere. Putem face acest lucru rulând, de exemplu, comanda:

ssh userssh@192.168.99.11

Ni sa va solicita parola pentru utilizatorul userssh definit pe serverul A și, in cazul în care o introducem corect, ni se permite accesul și putem executa comenzi pe serverul A.
În același mod vom proceda și pentru serverele B și C.

Inconvenientul este că de fiecare data când dorim să accesăm prin ssh aceste servere de pe sistemul PC, trebuie să introducem parola. Alternativa rapidă este să folosim o pereche de chei private/publice pentru autenficare. Astfel, vom genera aceste chei pe sistemul PC, utilizând comanda:

ssh-keygen

Vom fi întrebați de numele fișierului în care dorim să salvăm această cheie și il vom lăsa pe cel implicit (/<user_home_dir>/.ssh/id_rsa), apoi ni se va cere sa introducem o „frază de acces” pentru securizare, dar nu o vom face, trecând peste acest pas apăsând tasta Enter.

După executare, observăm că s-a creat fișierul id_rsa, dar, în același director mai avem un fișier nou cu numele id_rsa.pub.

Conținutul celor două fișiere este de genul:

  • fișier id_rsa:

Fisier id_rsa

  • fișier id_rsa.pub:

Fisier id_rsa.pubPentru a obține ce ne dorim, trebuie să copiem conținutul fișierul id_rsa.pub să fie copiat pe serverul pe care dorim să ne autentificăm. Pentru acest lucru, vom folosi comanda ssh-copy-id, astfel:

ssh-copy-id -i /root/.ssh/id_rsa.pub userssh@192.168.99.11

sh-copy-id -i /root/.ssh/id_rsa.pub userssh@192.168.99.12

sh-copy-id -i /root/.ssh/id_rsa.pub userssh@192.168.99.13

Asta este tot. Acum la execuția comenzii

ssh userssh@192.168.99.11

nu mai este necesar să introducem parola ci vom fi autentificat în mod direct.

PS: Nu cred că este cazul să vă atrag atenția că, din punct de vedere al securității, nu este o practică recomandată!

 

 

Articole asemanatoare:

Bogdan Turcanu

Bogdan Turcanu

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.