Cum se configurează autentificarea fără parolă în depozitul privat GitHub?

Repetarea aceleiași sarcini este plictisitoare și dureroasă pentru programatori ca noi. Nu-i aşa?

Una dintre astfel de sarcini este interactivă cu depozitul privat al GitHub. Ce-i cu asta? Stii ce este. Și căutați modalități de a o rezolva și ați ajuns la acest articol. Veți opri căutarea după ce citiți acest articol.

Deci, aici vom vorbi despre accesarea depozitului privat GitHub fără o parolă. Fără alte prelungiri, să începem.

Există două moduri de a accesa orice depozit GitHub. Sunt HTTPS și SSH. Majoritatea dintre voi folosiți HTTPS. Dar, acum ajungeți să știți că nu este o modalitate eficientă de a folosi metoda HTTPS pentru clonarea depozitelor private.

Accesarea include clonarea, împingerea, tragerea etc.; orice are legătură cu actualizarea depozitului nostru în telecomandă.

Nu există nicio problemă când vine vorba de accesarea depozitelor publice. Dar, trebuie să ne autentificăm în timp ce accesăm un depozit privat. Există diferite moduri de a ne autentifica.

Să începem cu cel mai cunoscut…

Dacă utilizați HTTPS

Probabil ar trebui să știți despre metoda HTTPS și să căutați altele. Să vedem rapid cum să accesăm un depozit privat folosindu-l.

  • Copiați linkul de depozit privat.

Depozitul privat GitHub

  • Deschideți terminalul sau cmd-ul din mașina dvs.
  • Lipiți linkul de comandă git clone pentru a clona depozitul privat.
  • Înlocuiți linkul cu linkul de depozit privat.
  • Ne va cere să ne autentificăm. Deci, trebuie să introducem acreditările noastre GitHub.
  • Mai întâi, ne va cere să introducem numele de utilizator GitHub. Introduceți numele de utilizator GitHub și apăsați Enter.

Nume de utilizator de autentificare

  • Acum, trebuie să introducem parola. Introduceți parola GitHub și apăsați Enter.

Parola de autentificare

Asta e; am clonat depozitul privat folosind metoda HTTPS. Acum, actualizează ceva în depozit, comite și împinge-le la distanță.

Ce ai observat?

Din nou cere autentificarea.

Autentificare push

Nu este o sarcină plictisitoare și grea să introduceți acreditările de fiecare dată când interacționăm cu depozitul privat?

Da este.

Nu putem introduce acreditările noastre GitHub ori de câte ori interacționăm cu depozitul nostru privat. Este un proces care necesită timp și ne încetinește munca.

Există diferite moduri de a scăpa de problema de mai sus. Cel mai bun mod de a face acest lucru este să utilizați SSH. Dar, există și alte moduri de a face acest lucru. Să le privim pe toate unul câte unul.

.git config

Toate informațiile despre versiunile depozitelor noastre sunt stocate în directorul .git. Este un folder ascuns. Există un fișier de configurare în el care ne permite să configuram setările. Dar, în general, nu este recomandat.

Putem clona un depozit privat adăugând numele de utilizator și parola în adresa URL a depozitului, după cum urmează.

git clone https://<strong>username:password</strong>@github.com/<strong>username</strong>/<strong>repository_name</strong>.git

Actualizați numele de utilizator, parola și repository_name cu detalii corespunzătoare. Deoarece ne-am dat acreditările în adresa URL, nu va solicita autentificare așa cum am văzut înainte.

  Cele mai bune instrumente pentru a maximiza lățimea de bandă a rețelei și pentru a analiza utilizarea

Deci, vom urma metoda de autentificare de mai sus și vom actualiza configurația depozitului în consecință. Să vedem pașii pentru a scăpa de autentificarea repetitivă prin actualizarea adresei URL.

  • Deschideți folderul .git din depozitul dvs. clonat.

Folder .git

  • Veți găsi un fișier cu numele config. Deschideți-l folosind orice editor de text la alegere.
  • Va exista o linie cu link-ul nostru de depozit, după cum urmează.

Link de depozit în config

  • Actualizați adresa URL adăugând numele de utilizator și parola, așa cum se vede mai sus.

Actualizare URL a depozitului

Acum, actualizează din nou ceva în depozit, comite și împinge-le.

Observi ceva?

De data aceasta nu ar fi trebuit să vă solicite acreditările GitHub. Deci, ne-am rezolvat problema actualizându-ne setarea depozitului.

Poate ați observat că nu este sigur. Pe măsură ce ne expunem acreditările. Și această metodă nu va funcționa în cazul în care parola GitHub conține caracterul @.

Deci, există câteva dezavantaje critice ale utilizării acestei metode. Prin urmare, să-l ignorăm și să trecem la următoarea metodă.

acreditare.ajutor

Credential.helper ne permite să stocăm acreditările pentru totdeauna în fișierul ~/.git-credentials.

Ne va stoca acreditările atunci când le introducem pentru prima dată. Din nou, când încercăm să accesăm depozitul privat, acesta nu va cere acreditări până când nu este stocat în fișierul ~/git-credentials. Deci, aceasta este una dintre modalitățile de a evita problema noastră. Să-l vedem în acțiune cu pași precisi.

  • În primul rând, trebuie să activăm opțiunea de stocare a acreditărilor noastre cu comanda git config credential.helper store.
  • După activarea opțiunii, încercați să accesați depozitul privat cu numele de utilizator și parola.
  • Odată ce ați introdus numele de utilizator și parola, acestea le vor stoca în fișierul ~/.git-credentials cu acreditările GitHub, după cum urmează.

git-credentials

Acum, din nou, același proces pentru a verifica dacă funcționează corect sau nu. Actualizați, comite și împingeți. Sunt sigur că nu vă va cere acreditările dacă ați urmat pașii de mai sus pentru a vă stoca acreditările.

Merge bine…

Ce se întâmplă dacă doriți să salvați acreditările pentru 4 ore în loc de pentru totdeauna?

Credential.helper oferă o modalitate de a stoca acreditările noastre temporar pentru o anumită perioadă de timp. Folosim memoria cache în loc de stocare pentru a stoca acreditările pentru o anumită perioadă de timp.

Cache-ul va stoca acreditările noastre timp de 15 minute în mod implicit. După 15 minute, git va cere din nou acreditările. Dar, putem schimba ora implicită folosind următoarea comandă.

git config credential.helper 'cache --timeout={time_in_seconds}'

Nu uitați să dați timpul în secunde. Să-l vedem în acțiune.

  • În primul rând, trebuie să activăm opțiunea de a stoca în cache acreditările noastre cu comanda git config credential.helper cache.
  • Accesați depozitul privat cu numele de utilizator și parola.
  • Odată ce ați introdus numele de utilizator și parola, acesta vă va stoca în cache acreditările GitHub pentru o perioadă specificată.
  6 moduri ușoare de a remedia „Eroarea HTTP 422” în câteva minute

Acum, actualizează, comite și împinge. Din nou, nu vă va cere acreditările, așa cum am spus-o pentru a le stoca în cache.

V-am arătat comenzile pentru a lucra cu un depozit inițializat git. Putem actualiza configurația git la nivel global pentru toate proiectele adăugând indicatorul –global în comenzile de mai sus.

Jetoane de acces personal

Tokenurile personale de acces sunt folosite pentru a oferi acces la API-ul GitHub. Tokenurile personale de acces sunt ca tokenurile OAuth. Deci, ele pot fi folosite pentru autentificarea de bază în loc de o parolă pentru git. Prin urmare, putem folosi jetoanele de acces personale pentru a ne rezolva problema.

Să vedem cum se face.

  • Conectați-vă la contul dvs. GitHub.
  • Accesați Setări.

Setări GitHub

  • Acum, accesați setările de dezvoltare din bara de navigare din stânga.

Setări pentru dezvoltatori GitHub

  • Faceți clic pe jetoanele de acces personal pentru a ajunge la destinația noastră finală. Veți vedea jetoanele de acces personale după cum urmează.

Jetoane de acces personal GitHub

  • Faceți clic pe Generare token nou pentru a genera unul nou.

Generați un nou token

  • Introduceți nota pentru token. Puteți să vă gândiți la el ca pe niște note scurte pe care să le amintiți jetonul.

Token de acces personal Notă

  • Selectați permisiunile pentru token. Programele care folosesc simbolul vor acorda acces la toate permisiunile selectate. În cazul nostru, selectați repo.

Permisiuni pentru depozit

  • Derulați în jos în jos și faceți clic pe butonul Generați simbol.

Butonul Generați token

  • Va afișa indicativul de acces personal o singură dată, după cum urmează. Nu putem vedea din nou simbolul nostru personal. Deci, copiați-l și salvați-l undeva în siguranță. Folosiți un manager de parole dacă aveți nevoie.

Jeton de acces personal

  • Am creat cu succes jetonul de acces personal.
  • Acum, este timpul să-l folosiți pentru a accesa depozitul nostru privat.
  • Actualizați adresa URL a depozitului în fișierul .git/config ca https://{personal_access_token}@github.com/hafeezulkareem/private_repository.git similar cu prima metodă.

Token de acces personal în config

Acum, încercați să accesați depozitul privat.

Ți-a cerut autentificarea?

Nu, nu vă va cere autentificarea până când jetonul este activ. Să trecem la ultima modalitate de a ne rezolva problema.

SSH

SSH este folosit pentru a ne autentifica. Găsiți documentul complet despre SSH în GitHub Aici.

Ideea este simplă. Generați o cheie SSH, adăugați-o la contul GitHub și bucurați-vă de autentificare fără parolă.

Să vedem acești trei pași în detaliu.

  • Deschideți terminalul sau cmd-ul în sistemul dvs.
  • Introduceți comanda ssh-keygen -t rsa pentru a genera o nouă cheie SSH.
  • Acesta va cere directorului să salveze cheia. Apăsați Enter pentru a selecta directorul implicit. Dar, de asemenea, puteți schimba directorul în funcție de preferințele dvs. Aici, mergem cu directorul implicit.
  Cum să găsiți (și să derulați la) mesaje vechi pe iPhone

Director SSH

  • Acum, trebuie să introducem expresia de acces pentru a ne proteja cheia SSH. Dar este optional.
    • Dacă alegem o expresie de acces pentru cheia SSH, trebuie să o introducem mai întâi de fiecare dată când pornim sistemul nostru.
    • Dacă nu am ales expresia de acces, atunci nu este nevoie să o introducem mai întâi.

Fraza de acces SSH

  • Introduceți din nou fraza de acces pentru a o confirma.

Fraza de acces SSH

  • În cele din urmă, va genera o nouă cheie SSH pentru noi, după cum urmează.

Cheie SSH

Am generat cu succes o nouă cheie SSH în sistemele noastre. Va crea două fișiere după cum urmează (dacă ați schimbat calea, atunci numele fișierelor pot varia).

Fișiere cheie SSH

Acum, este timpul să ne conectăm cu contul nostru GitHub. Conținutul fișierului cu extensia .pub trebuie copiat în contul nostru GitHub pentru conexiune. În cazul meu, este id_rsa.pub.

  • Conectați-vă la contul dvs. GitHub.
  • Deschideți Setări.

Setări GitHub

  • Faceți clic pe cheile SSH și GPG pentru a ajunge la destinația noastră finală.

Chei SSH și GPG

  • Faceți clic pe cheia SSH nouă pentru a adăuga cheia SSH nouă generată.

Cheie SSH nouă

  • Veți naviga la următorul ecran.

Noua cheie SSH

  • Adăugați titlul corespunzător pentru cheia SSH. Cheile SSH sunt diferite pentru fiecare sistem. Deci, alegeți pe baza ei este una dintre opțiunile bune. Dar, nu este singura opțiune. Puteți alege pe baza altor lucruri după preferință.
  • După ce ați ales titlul, copiați și lipiți conținutul .pub în al doilea câmp.

Cheie SSH nouă

  • În cele din urmă, apăsați tasta Adaugă SSH și confirmați accesul cu parola GitHub.
  • Cheia SSH nou adăugată va arăta după cum urmează.

Cheie SSH nouă

Am adăugat cheia noastră SSH nou generată la GitHub. Acum, trebuie să autentificăm conexiunea SSH pentru a ne bucura mai târziu de autentificare fără parolă. Pentru a face acest lucru, introduceți următoarea comandă în terminal sau cmd.

ssh -T [email protected]

Conexiune SSH

Va cere confirmare. Confirmați-o. Și asta este, și am terminat.

Acum, clonează-ți depozitul privat. De data aceasta nu va cere nicio autentificare.

Actualizați, comite și împingeți. Iată. Nu vă va mai cere autentificarea. Bucură de ea.

Concluzie

Pf! am acoperit diverse metode de accesare a depozitelor private fără a introduce acreditările tot timpul. Puteți folosi orice metodă. Dar, cea mai generală și cea mai bună practică este utilizarea metodei SSH pentru autentificare.

Din nou, depinde de preferința ta; nu există o regulă strictă pentru a utiliza singura metodă SSH. Dar, majoritatea companiilor folosesc metoda SSH pentru autentificare, care este sigură și economisește mult timp. Și asigură-te că acreditările tale sunt în siguranță.

Dezvoltare fericită 🙂