Luați în serios securitatea cibernetică și folosiți cheile SSH pentru a accesa conexiunile de la distanță. Sunt o modalitate mai sigură de conectare decât parolele. Vă arătăm cum să generați, să instalați și să utilizați chei SSH în Linux.
Cuprins
Ce este în neregulă cu parolele?
Secure shell (SSH) este protocolul criptat folosit pentru a vă conecta la conturile de utilizator pe computere Linux sau Unix de la distanță. De obicei, astfel de conturi de utilizator sunt securizate folosind parole. Când vă conectați la un computer la distanță, trebuie să furnizați numele de utilizator și parola pentru contul la care vă conectați.
Parolele sunt cele mai comune mijloace de securizare a accesului la resursele de calcul. În ciuda acestui fapt, securitatea bazată pe parole are defectele sale. Oamenii aleg parole slabe, partajează parole, folosesc aceeași parolă pe mai multe sisteme și așa mai departe.
Cheile SSH sunt mult mai sigure și, odată configurate, sunt la fel de ușor de utilizat ca și parolele.
Ce face cheile SSH sunt sigure?
Cheile SSH sunt create și utilizate în perechi. Cele două chei sunt legate și securizate criptografic. Una este cheia dumneavoastră publică, iar cealaltă este cheia dumneavoastră privată. Acestea sunt legate de contul dvs. de utilizator. Dacă mai mulți utilizatori de pe un singur computer folosesc chei SSH, fiecare va primi propria pereche de chei.
Cheia dvs. privată este instalată în folderul dvs. de acasă (de obicei), iar cheia publică este instalată pe computerul la distanță sau pe computerele pe care va trebui să le accesați.
Cheia dvs. privată trebuie păstrată în siguranță. Dacă este accesibil altora, ești în aceeași poziție ca și când ți-ar fi descoperit parola. O precauție sensibilă – și foarte recomandată – este ca cheia dvs. privată să fie criptată pe computer cu un sistem robust expresie de acces.
Cheia publică poate fi partajată în mod liber, fără a compromite securitatea dumneavoastră. Nu este posibil să se determine care este cheia privată dintr-o examinare a cheii publice. Cheia privată poate cripta mesaje pe care numai cheia privată le poate decripta.
Când faceți o solicitare de conectare, computerul la distanță folosește copia sa a cheii publice pentru a crea un mesaj criptat. Mesajul conține un ID de sesiune și alte metadate. Numai computerul care deține cheia privată – computerul dvs. – poate decripta acest mesaj.
Computerul dvs. accesează cheia dvs. privată și decriptează mesajul. Apoi trimite propriul mesaj criptat înapoi la computerul de la distanță. Printre altele, acest mesaj criptat conține ID-ul sesiunii care a fost primit de la computerul de la distanță.
Computerul la distanță știe acum că trebuie să fiți cine spuneți că sunteți, deoarece numai cheia dvs. privată ar putea extrage ID-ul sesiunii din mesajul pe care l-a trimis computerului dvs.
Asigurați-vă că puteți accesa computerul de la distanță
Asigurați-vă că vă puteți conecta de la distanță și vă puteți conecta la computerul de la distanță. Acest lucru demonstrează că numele dvs. de utilizator și parola au un cont valid configurat pe computerul de la distanță și că acreditările sunt corecte.
Nu încercați să faceți nimic cu cheile SSH până nu ați verificat că puteți utiliza SSH cu parole pentru a vă conecta la computerul țintă.
În acest exemplu, o persoană cu un cont de utilizator numit dave este conectată la un computer numit wdzwdz . Se vor conecta la un alt computer numit Sulaco.
Ei introduc următoarea comandă:
ssh [email protected]
Li se cere parola, o introduc și sunt conectați la Sulaco. Linia lor de comandă se modifică pentru a confirma acest lucru.
Asta e toată confirmarea de care avem nevoie. Deci, utilizatorul dave se poate deconecta de la Sulaco cu comanda de ieșire:
exit
Ei primesc mesajul de deconectare și linia de comandă revine la [email protected]
Crearea unei perechi de chei SSH
Aceste instrucțiuni au fost testate pe distribuțiile Linux Ubuntu, Fedora și Manjaro. În toate cazurile, procesul a fost identic și nu a fost nevoie să instalați niciun software nou pe niciuna dintre mașinile de testare.
Pentru a genera cheile SSH, tastați următoarea comandă:
ssh-keygen
Începe procesul de generare. Veți fi întrebat unde doriți să fie stocate cheile dvs. SSH. Apăsați tasta Enter pentru a accepta locația implicită. Permisiunile de pe folder îl vor asigura numai pentru utilizarea dvs.
Acum vi se va cere o expresie de acces. Vă sfătuim insistent să introduceți o expresie de acces aici. Și amintiți-vă ce este! Puteți apăsa Enter pentru a nu avea o expresie de acces, dar aceasta nu este o idee bună. O expresie de acces formată din trei sau patru cuvinte neconectate, înșirate împreună, va face o expresie de acces foarte robustă.
Vi se va cere să introduceți aceeași expresie de acces încă o dată pentru a verifica dacă ați introdus ceea ce credeați că ați introdus.
Cheile SSH sunt generate și stocate pentru dvs.
Puteți ignora „randomart” care este afișat. Unele computere la distanță vă pot arăta arta lor aleatorie de fiecare dată când vă conectați. Ideea este că veți recunoaște dacă arta aleatorie se schimbă și veți fi suspicios față de conexiune, deoarece înseamnă că cheile SSH pentru acel server au fost modificate.
Instalarea cheii publice
Trebuie să vă instalăm cheia publică pe Sulaco, computerul de la distanță, astfel încât acesta să știe că cheia publică vă aparține.
Facem acest lucru folosind comanda ssh-copy-id. Această comandă face o conexiune la computerul de la distanță precum comanda obișnuită ssh, dar în loc să vă permită să vă conectați, transferă cheia SSH publică.
ssh-copy-id [email protected]
Deși nu vă conectați la computerul de la distanță, trebuie totuși să vă autentificați folosind o parolă. Computerul la distanță trebuie să identifice cărui cont de utilizator îi aparține noua cheie SSH.
Rețineți că parola pe care trebuie să o furnizați aici este parola pentru contul de utilizator la care vă conectați. Aceasta nu este expresia de acces pe care tocmai ați creat-o.
După ce parola a fost verificată, ssh-copy-id vă transferă cheia publică pe computerul de la distanță.
Veți reveni la promptul de comandă al computerului dvs. Nu sunteți lăsat conectat la computerul de la distanță.
Conectarea utilizând chei SSH
Să urmăm sugestia și să încercăm să ne conectăm la computerul de la distanță.
ssh [email protected]
Deoarece procesul de conectare va necesita acces la cheia dvs. privată și pentru că v-ați protejat cheile SSH în spatele unei expresii de acces, va trebui să furnizați expresia dvs. de acces, astfel încât conexiunea să poată continua.
Introduceți fraza de acces și faceți clic pe butonul Deblocare.
Odată ce ați introdus fraza de acces într-o sesiune de terminal, nu va trebui să o introduceți din nou atâta timp cât aveți acea fereastră de terminal deschisă. Vă puteți conecta și deconecta de la câte sesiuni la distanță doriți, fără a introduce din nou fraza de acces.
Puteți bifa caseta de selectare pentru opțiunea „Deblocați automat această cheie ori de câte ori sunt conectat”, dar vă va reduce securitatea. Dacă lăsați computerul nesupravegheat, oricine poate face conexiuni la computerele de la distanță care au cheia dvs. publică.
Odată ce ați introdus fraza de acces, sunteți conectat la computerul de la distanță.
Pentru a verifica încă o dată procesul cap la cap, deconectați-vă cu comanda de ieșire și reconectați-vă la computerul de la distanță din aceeași fereastră de terminal.
ssh [email protected]
Veți fi conectat la computerul de la distanță fără a fi nevoie de o parolă sau o frază de acces.
Fără parole, dar securitate sporită
Experții în securitate cibernetică vorbesc despre un lucru numit fricțiune de securitate. Aceasta este durerea minoră cu care trebuie să o suportați pentru a obține un câștig suplimentar de securitate. De obicei, sunt necesari câțiva pași suplimentari sau doi pentru a adopta o metodă de lucru mai sigură. Și majoritatea oamenilor nu le place. Ei preferă de fapt o securitate mai scăzută și lipsa frecării. Asta este natura umană.
Cu cheile SSH, obțineți o securitate sporită și un confort sporit. Acesta este categoric câștig-câștig.