Cum se creează și se instalează chei SSH din Shell Linux

Securitatea cibernetică este un aspect vital, iar utilizarea cheilor SSH reprezintă o metodă superioară de a accesa conexiunile de la distanță, comparativ cu parolele. Aceste chei oferă un mod mult mai sigur de autentificare. În acest articol, vom analiza cum să generați, să instalați și să utilizați chei SSH în sistemele Linux.

De ce Parolele Nu Mai Sunt Suficiente?

Protocolul Secure Shell (SSH) este esențial pentru conectarea criptată la conturile de utilizator de pe serverele Linux sau Unix. În mod obișnuit, aceste conturi sunt protejate cu parole. Atunci când te conectezi la un computer la distanță, trebuie să introduci numele de utilizator și parola asociată contului respectiv.

Parolele sunt un mecanism comun pentru securizarea accesului la resursele informatice, dar prezintă vulnerabilități. Utilizatorii aleg frecvent parole ușor de ghicit, le distribuie, sau le reutilizează pe mai multe platforme, expunându-se la riscuri.

Cheile SSH reprezintă o alternativă mult mai robustă. Odată configurate, acestea sunt la fel de simple de utilizat ca și parolele, dar mult mai sigure.

Cum Funcționează Securitatea Cheilor SSH?

Cheile SSH sunt create și utilizate în perechi, legate criptografic. O cheie este publică, iar cealaltă este privată. Aceste chei sunt asociate contului tău de utilizator. Dacă mai mulți utilizatori folosesc chei SSH pe același computer, fiecare va avea propria pereche de chei.

Cheia privată este stocată în directorul tău personal (de obicei), în timp ce cheia publică este instalată pe computerul sau computerele la distanță la care dorești să te conectezi.

Este crucial să protejezi cheia privată. Dacă aceasta devine accesibilă altora, securitatea ta este compromisă, similar cu situația în care parola ta ar fi divulgată. Se recomandă ca, pentru o protecție suplimentară, cheia privată să fie criptată pe computer folosind o frază de acces solidă.

Cheia publică poate fi distribuită fără a compromite securitatea, deoarece, din aceasta, nu se poate deduce cheia privată. Cheia privată este folosită pentru a cripta mesaje pe care doar aceasta le poate decripta.

În procesul de conectare, computerul de la distanță utilizează o copie a cheii publice pentru a genera un mesaj criptat ce include un ID de sesiune și alte date. Doar computerul care deține cheia privată, adică al tău, poate decripta acest mesaj.

Computerul tău accesează cheia privată, decriptează mesajul și trimite înapoi un mesaj criptat către computerul de la distanță. Acest mesaj include, printre altele, ID-ul de sesiune primit inițial.

Astfel, computerul de la distanță poate verifica identitatea ta, deoarece doar cheia privată asociată cheii publice folosite pentru criptare poate decripta mesajul și extrage ID-ul sesiunii.

Verificarea Accesului la Computerul de la Distanță

Înainte de a configura cheile SSH, este esențial să te asiguri că te poți conecta la computerul de la distanță folosind metoda tradițională cu parolă. Acest lucru demonstrează că ai un cont valid pe acel computer și că datele tale de autentificare sunt corecte.

Nu încerca să configurezi cheile SSH până nu te-ai asigurat că poți folosi SSH cu parolă pentru a te conecta la computerul țintă.

De exemplu, un utilizator cu numele „dave” se conectează la un computer numit „wdzwdz” și vrea să acceseze un alt computer numit „Sulaco”. Acesta va introduce următoarea comandă:

ssh [email protected]

După introducerea corectă a parolei, utilizatorul este conectat la Sulaco, lucru confirmat și de schimbarea promptului liniei de comandă.

Odată verificat accesul, utilizatorul se poate deconecta de la Sulaco folosind comanda:

exit

După deconectare, promptul revine la computerul inițial, „wdzwdz”.

Generarea unei Perechi de Chei SSH

Acest proces a fost testat pe Ubuntu, Fedora și Manjaro, unde pașii au fost identici și nu a fost necesară instalarea de software suplimentar.

Pentru a crea o pereche de chei SSH, introdu comanda:

ssh-keygen

Acest pas inițiază procesul de generare. Vei fi întrebat unde vrei să stochezi cheile SSH. Apasă Enter pentru a accepta locația implicită, unde permisiunile vor restricționa accesul doar pentru tine.

Ulterior, ți se va solicita o frază de acces. Este foarte recomandat să configurezi o frază de acces robustă și ușor de reținut. Evită să lași câmpul gol, deoarece cheile tale vor fi vulnerabile. O frază de acces formată din trei sau patru cuvinte aleatorii, unite, va crea o protecție eficientă.

Va trebui să reintroduci fraza de acces pentru confirmare.

Odată create, cheile SSH vor fi stocate în locația specificată.

Poți ignora „randomart”, un element vizual care poate fi generat la autentificările SSH. Ideea este că dacă arta aleatorie se modifică, ar trebui să suspectezi o problemă, deoarece acest lucru ar putea indica modificări neautorizate la cheile SSH ale serverului.

Instalarea Cheii Publice

Acum trebuie să instalăm cheia publică pe computerul „Sulaco”, computerul de la distanță, pentru ca acesta să recunoască că ești un utilizator valid.

Pentru aceasta folosim comanda `ssh-copy-id`. Aceasta funcționează similar cu comanda `ssh`, dar în loc să te conecteze, transferă cheia ta publică.

ssh-copy-id [email protected]

Deși nu te conectezi direct la computerul de la distanță, este necesar să te autentifici folosind parola contului de utilizator de pe acel computer. Această parolă permite computerului să identifice cui îi aparține cheia SSH.

Atenție, aici trebuie să folosești parola contului de utilizator de pe computerul de la distanță, nu fraza de acces creată anterior.

După autentificarea cu parola, `ssh-copy-id` transferă cheia ta publică pe computerul „Sulaco”.

Te vei întoarce la promptul de comandă al computerului tău, fără a fi conectat la cel de la distanță.

Conectarea cu Chei SSH

Acum, încearcă să te conectezi la computerul de la distanță folosind cheile SSH:

ssh [email protected]

Deoarece conexiunea va necesita acces la cheia ta privată, protejată de fraza de acces, va trebui să introduci fraza pentru a continua procesul de autentificare.

Introdu fraza de acces și apasă „Deblocare”.

Odată ce ai introdus fraza de acces într-o sesiune de terminal, nu va trebui să o mai introduci în aceeași fereastră. Poți efectua conexiuni repetate, fără a mai introduce fraza.

Opțiunea de a selecta „Deblocați automat această cheie ori de câte ori sunt conectat” reduce securitatea, deoarece dacă lași computerul nesupravegheat, oricine ar putea accesa computerele la distanță.

După ce ai introdus fraza, ești conectat la computerul de la distanță.

Pentru a verifica încă o dată, deconectează-te cu comanda `exit` și reconectează-te din aceeași fereastră de terminal:

ssh [email protected]

Vei observa că te vei conecta la computerul de la distanță fără a mai fi necesară parola sau fraza de acces.

Securitate Îmbunătățită Fără Parole

Experții în securitate cibernetică discută despre un concept numit „frecare de securitate”. Acesta se referă la micile inconveniente pe care trebuie să le depășim pentru a obține un nivel superior de securitate. De obicei, aceasta presupune câțiva pași suplimentari. Din păcate, majoritatea utilizatorilor preferă un nivel mai scăzut de securitate, doar pentru a evita aceste mici complicații. Este o trăsătură comună a naturii umane.

Cu cheile SSH, beneficiile sunt duble: securitate sporită și un confort mai mare. Este o soluție avantajoasă pentru ambele părți.