Economisiți timp la conectarea la GitHub prin SSH utilizând autentificarea fără parolă.

Autentificarea cu GitHub implică de obicei utilizarea unui token de acces sau a unei parole. Cu toate acestea, aceste metode pot fi incomode și nesigure, mai ales atunci când accesați GitHub de pe mai multe dispozitive.

GitHub oferă opțiunea de a utiliza Secure Shell (SSH) pentru autentificare. SSH prezintă un protocol de rețea securizat pentru acces la mașină de la distanță. Această caracteristică se dovedește deosebit de valoroasă în situațiile care necesită automatizare sau acces frecvent de la distanță.

Înțelegerea autentificării SSH

Autentificarea cu SSH implică utilizarea chei criptografice pentru a stabili o conexiune sigură (tunnel) între un client (mașină locală) și un server (GitHub).

Când folosește SSH pentru GitHub, un utilizator generează o pereche de chei SSH - o cheie publică și o cheie privată. Cheia publică este încărcată în contul GitHub al utilizatorului, în timp ce cheia privată rămâne stocată în siguranță pe computerul local al utilizatorului.

instagram viewer

Procesul poate fi asemănat cu conceptul de lacăt și cheie. Cheia publică (blocarea) este destinată să fie partajată în mod deschis și stocată în siguranță pe partea serverului. Acesta servește ca o contrapartidă la cheia privată, permițând serverului să verifice identitatea mașinii dvs. locale. În schimb, cheia privată (cheia) acționează ca un identificator unic stocat exclusiv pe mașina dvs. locală, permițând autentificarea cu succes cu serverul.

În timpul autentificării cu GitHub, mașina dvs. locală își prezintă cheia privată ca dovadă a identității. Serverul verifică dacă cheia publică corespunzătoare asociată contului tău GitHub se potrivește cu cheia privată dată. Dacă cheile se potrivesc, serverul acordă acces, stabilind un criptate și securizate conexiune pentru comunicare.

Configurarea SSH pentru GitHub

În această secțiune, veți vedea cum să configurați SSH pentru autentificare cu GitHub.

1. Se generează perechea de chei SSH

Procesul de generare a unei perechi de chei SSH este primul pas către utilizarea SSH pentru autentificare.

  1. Deschideți terminalul sau promptul de comandă.
  2. Executați următoarea comandă pentru a genera o nouă pereche de chei SSH:
     ssh-keygen -t rsa -b 4096 -C „emailul [email protected]
  3. Vi se va solicita să introduceți o locație de fișier pentru a salva perechea de chei. presa introduce pentru a accepta locația implicită (~/.ssh/id_rsa) sau pentru a specifica o locație personalizată.
     > Generarea perechii de chei rsa public/privat.
     > Introduceți fișierul încare pentru a salva cheia (/home/vagrant/.ssh/id_rsa):
  4. În continuare, vi se va solicita să introduceți o expresie de acces. Deși este opțională, adăugarea unei fraze de acces servește ca un nivel suplimentar de securitate. Asigurați-vă că vă amintiți expresia de acces.
     > Introduceți fraza de acces (goală pentru fără expresie de acces): 
     > Introduceți din nou aceeași expresie de acces:
  5. După generarea perechii de chei, ar trebui să vedeți două fișiere în locația specificată. id_rsa (cheie privată) și id_rsa.pub (cheie publică).
     > Identificarea dvs. a fost salvată în /home/vagrant/.ssh/id_rsa.
     > Cheia dvs. publică a fost salvată în /home/vagrant/.ssh/id_rsa.pub.
  6. La finalizare, sunt afișate tastele amprenta digitală și imaginea aleatorie.
  7. În cele din urmă, veți avea nevoie de conținutul cheii publice pentru a fi adăugat la GitHub. Rulați următoarea comandă pentru a obține conținutul:
     cat ~/.ssh/id_rsa.pub

Asigurați-vă că specificați calea (~/.ssh/id_rsa.pub în cazul meu) pe care ați folosit-o la crearea cheilor.

Copiați conținutul într-o locație sigură și temporară pentru utilizare ulterioară.

2. Adăugarea cheii publice la GitHub

Acum că ați generat o pereche de chei SSH, trebuie să adăugați cheia publică la contul dvs. GitHub.

  1. Conectați-vă la contul dvs. GitHub și accesați contul dvs Setări.
  2. Click pe Chei SSH și GPG situat pe bara laterală din stânga.
  3. Click pe Cheie SSH nouă.
  4. Dă-ți cheia SSH a Titlu.
  5. Lipiți conținutul cheii publice în Cheie camp.
  6. În cele din urmă, faceți clic pe Adăugați cheia SSH pentru a salva cheia SSH în contul tău GitHub.

Ați exportat cu succes cheia publică în contul dvs. GitHub cu acestea.

3. Configurarea unui agent SSH

Un agent SSH este un program care ajută la gestionarea cheilor SSH și oferă o modalitate sigură de stocare și utilizare a acestora. Acesta acționează ca un intermediar între mașina dvs. locală și serverul de la distanță în timpul autentificării SSH. Acest lucru vă permite să gestionați mai multe chei SSH pentru diferite conturi GitHub.

  1. Asigurați-vă că agentul SSH rulează.
     $ eval"$(ssh-agent -s)"
     > Agent pid 2757
  2. Adăugați cheia privată la agentul SSH.
     $ ssh-add ~/.ssh/id_rsa
     > Introduceți expresia de acces pentru /home/vagrant/.ssh/id_rsa:
     > Identitate adăugată: /home/vagrant/.ssh/id_rsa (/home/vagrant/.ssh/id_rsa)

Ați configurat cu succes un agent SSH pentru a vă gestiona cheile.

4. Testarea conexiunii SSH

Acum puteți testa pentru a verifica dacă conexiunea dvs. SSH este configurată corect și vă puteți autentifica la GitHub folosind SSH.

  • Rulați comanda de mai jos pentru a testa conexiunea SSH la GitHub;
     ssh -T [email protected]
    dacă totul merge bine, veți vedea un avertisment privind amprenta. Confirmați amprenta și tastați da a continua.
     > Autenticitatea gazdei „github.com (140.92.130.4)” poate sanu va fi stabilit.
    > Amprenta cheii ECDSA este SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
    > Ești sigur că vrei continua conectarea (da/nu)?
  • La tastare da, veți vedea o ieșire similară cu cea de mai jos.
     > Avertisment: adăugat permanent „github.com, 140.92.130.4” (ECDSA) la lista gazdelor cunoscute.
    > Bună princewillingoo! Tum-am autentificat cu succes, dar GitHub nu oferă acces shell.

Aceasta arată că autentificarea a avut succes.

Gestionarea depozitelor cu SSH

Configurarea SSH vă permite să vă gestionați depozitele fără să vă faceți griji cu privire la problemele legate de parole și token-uri de acces.

Setarea URL la distanță

telecomanda git a stabilit-url origine [email protected]:/.git

Clonarea unui depozit

git clonare [email protected]:/.git

Impingerea de modificări într-un depozit

git push origin 

Extragerea modificărilor dintr-un depozit

git pull origin 

Avantajele SSH față de autentificarea prin parolă

Utilizarea SSH pentru autentificare oferă câteva avantaje notabile față de metodele tradiționale de autentificare bazate pe parole. Aceasta include:

  • Autentificarea SSH elimină nevoia de parole, reducând riscul furtului de acreditări.
  • Utilizarea cheilor criptografice îl face mai imun la atacuri cu forță brută comparativ cu parolele.
  • Dacă cheia dvs. privată este compromisă, o puteți revoca și înlocui, făcând cheia compromisă inutilă.

Din acest motiv, autentificarea SSH tinde să fie o opțiune mai bună în comparație cu autentificarea prin parolă.

Cele mai bune practici și depanare

Pentru a asigura o configurare SSH fluidă și sigură, este necesar să urmați cele mai bune practici și să fiți conștienți de problemele obișnuite care pot apărea și modalitățile de depanare.

  1. Setați întotdeauna o expresie de acces pentru a crea un nivel suplimentar de securitate.
  2. Practicați rotația frecventă a cheilor și backup-urile.
  3. Confirmați fiecare pas pentru a evita erorile de permisiune sau configurarea incorectă a agentului SSH.

Respectând aceste bune practici, puteți utiliza cu încredere autentificarea SSH pentru GitHub.

Versatilitatea SSH

SSH este utilizat pe scară largă în alte domenii pentru a gestiona de la distanță servere, microcontrolere și dispozitive de rețea, deoarece permite accesul securizat la interfața de linie de comandă (CLI), permițând utilizatorilor să efectueze diferite sarcini, să configureze setări, să transfere fișiere și să depaneze probleme.