Cum să configurați o cheie SSH pe Linux

SSH este o tehnologie grozavă; îl puteți folosi pentru a ascunde traficul VPN cu acesta, pentru a vă asigura conexiunea la site-uri web și multe altele. Singura problemă este că de fiecare dată când încercați să vă conectați la o mașină de la distanță, trebuie să vă introduceți parola și asta poate fi plictisitor. Dacă ești un dezvoltator care dorește să te conectezi la o mulțime de mașini prin SSH simultan cu un script Bash, sau doar cineva care folosește Secure Shell și este sătul să introducă parole, există o soluție: SSH fără parolă. Acest proces implică generarea unei chei SSH securizate pe mașina gazdă și partajarea acesteia ca modalitate de acces la computer. Acest lucru va permite oricui cu cheia să se autentifice, chiar dacă nu cunoaște parola. Iată cum să-l pornești.

Ce sunt cheile SSH?

O cheie SSH este un fișier de identificare unic care este utilizat cu Secure Shell. Scopul acestor chei este de a oferi utilizatorului o identitate unică și de a le marca ca „de încredere” atunci când se conectează. Aceste chei în sine sunt mai mult decât fișiere care dovedesc identitatea cuiva. De fapt, SSH permite utilizatorilor să se conecteze cu o cheie mai degrabă decât cu o parolă. Adică, în loc să fii forțat să introduceți o parolă de fiecare dată când vă conectați prin SSH, utilizați cheia SSH.

Cheia SSH este plasată undeva în siguranță pe instalarea dvs. Linux și, de acolo, vă puteți conecta la mașina de la distanță atât cât doriți, fără o parolă.

  Cum să curățați metadatele din fișiere pe Linux

Generarea de chei SSH securizate

Generarea unei chei SSH securizate necesită mai întâi ca SSH să funcționeze. Înțelegeți că acest lucru nu înseamnă neapărat că trebuie să aveți un server SSH. Doar că instrumentele și tehnologiile de bază SSH rulează pe computerul tău Linux. Nu sunteți sigur cum să configurați SSH? Urmați ghidul nostru aici.

Generați întotdeauna cheile SSH pe sistemul care găzduiește serverul SSH. Nu încercați să le generați pe serverul care nu găzduiește o sesiune SSH și copiați-o pe mașina gazdă SSH. Nu va funcționa.

Pentru a începe procesul de generare a cheii, deschideți un terminal. În fereastra terminalului, rulați:

ssh-keygen -t rsa

Rularea ssh-keygen va tipări „Generarea perechii de chei rsa public/privat”. Aceasta înseamnă că sistemul vă generează atât o cheie publică, cât și o cheie privată de utilizat. Cheile publice sunt cele pe care oricine le poate folosi și ar trebui să vă descurcați. O cheie privată, pe de altă parte, este ceva pe care nu ar trebui să-l împărtășiți nimănui. De aici și numele „privat”.

Cheile se vor salva pe /home/username/.ssh/id_rsa.

Notă: NU ȘTERGEȚI folderul ~/.ssh, deoarece conține cheile dvs. Dacă modificați în vreun fel acest folder și apoi încercați să vă conectați la această mașină de la distanță, promptul SSH va eșua. De asemenea, va imprima un avertisment și vă va bloca.

Cheile SSH pe mașina de la distanță

Acum că cheile SSH (atât cele publice, cât și cele private) sunt create și gata de utilizare, va trebui să le copiați în sistemul de la care doriți să vă conectați. Este important să repetați acest proces pe toate mașinile pe care intenționați să vă conectați prin SSH. În caz contrar, cei care nu au cheia vor trebui să se autentifice folosind metoda parolei.

  Cum să overclockați plăcile grafice Nvidia pe Linux

Pentru a adăuga cheile la sistemul de la distanță, urmați acest exemplu. Asigurați-vă că faceți acest lucru de pe mașina gazdă prin SSH.

ssh [email protected] mkdir -p .ssh

Rularea acestei comenzi ssh va crea un folder ascuns ~/.ssh în directorul de pornire al mașinii de la distanță (cu utilizatorul care a fost folosit pentru autentificare). Acest folder este important, deoarece aici vom copia fișierele cheie SSH nou generate.

Pentru a copia fișierele cheie SSH, rulați încă o comandă de la mașina gazdă SSH la mașina de la distanță care are nevoie de cheile:

cat .ssh/id_rsa.pub | ssh [email protected] 'cat >> .ssh/authorized_keys'

Copierea va dura câteva secunde, în funcție de viteza rețelei. Când se termină, computerul la distanță va avea cheile generate și se va putea conecta la computerul gazdă SSH fără o parolă.

Copiere de rezervă a cheilor SSH

Cheile SSH sunt lucruri utile și fiecare este unică. Din acest motiv, susținerea lor este cea mai bună cale de acțiune. Problema este că, dacă îl salvați în altă parte, cineva vă poate găsi cheia SSH, o păstrează și o folosește singur. Deci întrebarea este, care este o modalitate bună de a face copii de rezervă în siguranță pentru o cheie SSH? Criptare.

Cel mai rapid, mai eficient (și cel mai simplu mod) de a cripta este să folosiți GnuPG. Instrumentul în sine este încorporat în majoritatea instrumentelor de criptare deja pe Linux și este de bază atunci când apare criptarea fișierelor. Pentru a instala GnuPG, deschideți un terminal și căutați în managerul de pachete „gpg”. Programul ar trebui să fie ușor de găsit, chiar și în distribuțiile Linux foarte obscure.

  Cum să utilizați FFMpeg cu o interfață grafică pe Linux folosind QWinFF

Odată ce GPG este pornit și rulează, începeți procesul de criptare comprimând directorul ~/.ssh în fișierul arhivă tar. Făcând acest lucru, nu va fi nevoie să criptați individual fiecare fișier din folderul ~/.ssh.

tar -czvf ssh-stuff.tar.gz /home/username/.ssh

Când se termină compresia, începeți procesul de criptare.

Notă: înainte de criptare, rulați gpg în terminal pentru a genera un nou set de chei.

gpg -c ssh-stuff.tar.gz

Când procesul de criptare se încheie, GnuPG va scoate un fișier cu eticheta „ssh-stuff.tar.gz.gpg”. Simțiți-vă liber să ștergeți versiunea originală, deblocată a fișierului. Pentru a decripta arhiva de rezervă, procedați în felul următor:

gpg ssh-stuff.tar.gz.gpg