Sådan konfigureres adgangskodeløs godkendelse til GitHub Private Repository?

Gentagelse af den samme opgave er kedelig og smertefuld for programmører som os. Er det ikke?

En af sådanne opgaver er interaktiv med GitHubs private repository. Hvad er der ved det? Du ved hvad det er. Og du søger efter måder at løse det på og landede på denne artikel. Du stopper med at søge efter at have læst denne artikel.

Så her skal vi tale om at få adgang til GitHub private repository uden en adgangskode. Lad os uden videre komme i gang.

Der er to måder at få adgang til ethvert GitHub-lager. De er HTTPS og SSH. De fleste af jer bruger HTTPS. Men nu kommer du til at vide, at det ikke er en effektiv måde at bruge HTTPS-metoden til at klone de private repositories.

Adgang omfatter kloning, skubbe, træk osv..; alt, der er relateret til at opdatere vores lager i fjernbetjeningen.

Der er ikke noget problem, når det kommer til at få adgang til de offentlige depoter. Men vi er nødt til at autentificere os selv, mens vi får adgang til et privat depot. Der er forskellige måder at autentificere os selv på.

Lad os starte med den mest kendte…

Hvis du bruger HTTPS

Du skal nok kende til HTTPS-metoden og lede efter andre. Lad os hurtigt se, hvordan du får adgang til et privat lager ved hjælp af det.

  • Kopiér linket til dit private depot.

GitHub Private Repository

  • Åbn terminalen eller cmd på din maskine.
  • Indsæt kommandoen git clone link for at klone det private depot.
  • Erstat linket med dit private lagerlink.
  • Det vil bede os om at autentificere os selv. Så vi skal indtaste vores GitHub-legitimationsoplysninger.
  • Først vil det bede os om at indtaste vores GitHub-brugernavn. Indtast dit GitHub-brugernavn og tryk på Enter.

Autentificering brugernavn

  • Nu skal vi indtaste adgangskoden. Indtast din GitHub-adgangskode og tryk på Enter.

Godkendelsesadgangskode

Det er det; vi har klonet det private depot ved hjælp af HTTPS-metoden. Opdater nu noget i lageret, commit og skub dem til fjernbetjeningen.

Hvad lagde du mærke til?

Den beder igen om godkendelsen.

Tryk på godkendelse

Er det ikke en kedelig og tung opgave at indtaste legitimationsoplysninger, hver gang vi interagerer med det private depot?

Ja det er.

Vi kan ikke indtaste vores GitHub-legitimationsoplysninger, når vi interagerer med vores private depot. Det er en tidskrævende proces og bremser vores arbejde.

Der er forskellige måder at slippe af med ovenstående problem. Den bedste måde at gøre det på er at bruge SSH. Men der er andre måder at gøre det på. Lad os se på dem alle én efter én.

.git config

Alle oplysninger om vores repositories-versioner er gemt i .git-mappen. Det er en skjult mappe. Der er en konfigurationsfil i den, der giver os mulighed for at konfigurere indstillingerne. Men det anbefales ikke generelt.

  Download filer og se fremskridt uden en browser med filoverførsel

Vi kan klone et privat arkiv ved at tilføje vores brugernavn og adgangskode i arkivets URL som følger.

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

Opdater brugernavnet, adgangskoden og repository_name med passende detaljer. Da vi har givet vores legitimationsoplysninger i URL’en, vil den ikke bede om godkendelse, som vi har set før.

Så vi vil følge ovenstående godkendelsesmetode og opdatere vores lagerkonfiguration i overensstemmelse hermed. Lad os se trinene til at slippe af med gentagen godkendelse ved at opdatere URL’en.

  • Åbn .git-mappen i dit klonede lager.

.git-mappe

  • Du finder en fil med navnet config. Åbn den ved hjælp af en teksteditor efter eget valg.
  • Der vil være en linje med vores lagerlink som følger.

Repository Link i config

  • Opdater URL’en ved at tilføje dit brugernavn og adgangskode, som vist ovenfor.

Opdatering af lagerwebadresse

Opdater nu igen noget i depotet, commit og skub dem.

Observerer du noget?

Den skulle ikke have bedt om dine GitHub-legitimationsoplysninger denne gang. Så vi har løst vores problem ved at opdatere vores lagerindstilling.

Du har måske bemærket, at det ikke er sikkert. Mens vi afslører vores legitimationsoplysninger. Og denne metode virker ikke, hvis din GitHub-adgangskode indeholder @-tegn.

Så der er nogle kritiske ulemper ved at bruge denne metode. Lad os derfor ignorere det og gå videre til den næste metode.

credential.helper

Credential.helper giver os mulighed for at gemme legitimationsoplysningerne for evigt i filen ~/.git-credentials.

Den gemmer vores legitimationsoplysninger, når vi indtaster dem for første gang. Igen, når vi forsøger at få adgang til det private lager, vil det ikke bede om legitimationsoplysninger, før det er gemt i filen ~/git-credentials. Så det er en af ​​måderne at undgå vores problem på. Lad os se det i aktion med præcise trin.

  • Først skal vi aktivere muligheden for at gemme vores legitimationsoplysninger med kommandoen git config credential.helper store.
  • Efter at have aktiveret muligheden, prøv at få adgang til det private lager med dit brugernavn og adgangskode.
  • Når du har indtastet dit brugernavn og din adgangskode, gemmer den det i ~/.git-credentials-filen med dine GitHub-legitimationsoplysninger som følger.

git-legitimationsoplysninger

Nu, igen den samme proces for at kontrollere, om det fungerer korrekt eller ej. Opdater, forpligt og skub. Jeg er sikker på, at det ikke vil bede dig om legitimationsoplysningerne, hvis du har fulgt ovenstående trin for at gemme dine legitimationsoplysninger.

Går fint…

Hvad hvis du vil gemme legitimationsoplysningerne i 4 timer i stedet for for evigt?

Credential.helper giver dig mulighed for at gemme vores legitimationsoplysninger midlertidigt i et vist tidsrum. Vi bruger cache i stedet for at lagre til at gemme legitimationsoplysningerne i et vist tidsrum.

Cachen gemmer som standard vores legitimationsoplysninger i 15 minutter. Efter 15 minutter vil git igen bede om legitimationsoplysninger. Men vi kan ændre standardtiden ved at bruge følgende kommando.

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

Glem ikke at give tiden i sekunder. Lad os se det i aktion.

  • Først skal vi aktivere muligheden for at cache vores legitimationsoplysninger med kommandoen git config credential.helper cache.
  • Få adgang til det private lager med dit brugernavn og adgangskode.
  • Når du har indtastet dit brugernavn og din adgangskode, vil det cache dine GitHub-legitimationsoplysninger i et bestemt tidsrum.
  Ret Hulu-fejlkode 406

Opdater, forpligt og skub nu. Igen vil den ikke bede om dine legitimationsoplysninger, som vi har sagt det for at cache dem.

Vi har vist dig kommandoerne til at arbejde med et git-initialiseret repository. Vi kan opdatere git-konfigurationen globalt for alle projekter ved at tilføje –global-flaget i ovenstående kommandoer.

Personlige adgangstokens

De personlige adgangstokens bruges til at give adgang til GitHub API. De personlige adgangstokens er som OAuth-tokens. Så de kan bruges til grundlæggende godkendelse i stedet for en adgangskode til git. Derfor kan vi bruge de personlige adgangstokens til at løse vores problem.

Lad os se, hvordan man gør det.

  • Log ind på din GitHub-konto.
  • Gå til Indstillinger.

GitHub-indstillinger

  • Gå nu til Udvikl-indstillingerne fra venstre navigeringslinje.

GitHub-udviklerindstillinger

  • Klik på de personlige adgangstokens for at nå vores endelige destination. Du vil se de personlige adgangstokens som følger.

GitHub personlige adgangstokens

  • Klik på Generer nyt token for at generere et nyt.

Generer nyt token

  • Indtast noten til tokenet. Du kan tænke på det som korte noter, som tokenet kan huske.

Personligt adgangstoken Bemærk

  • Vælg tilladelserne for tokenet. Programmerne, der bruger tokenet, giver adgang til alle de valgte tilladelser. I vores tilfælde skal du vælge repoen.

Lagringstilladelser

  • Rul ned til bunden, og klik på knappen Generer token.

Generer token-knap

  • Det vil kun vise det personlige adgangstoken én gang som følger. Vi kan ikke se vores personlige token igen. Så kopier det og gem det sikkert et sted. Brug en adgangskodeadministrator, hvis du har brug for det.

Personligt adgangstoken

  • Vi har med succes oprettet det personlige adgangstoken.
  • Nu er det tid til at bruge det til at få adgang til vores private depot.
  • Opdater depot-URL’en i .git/config-filen som https://{personal_access_token}@github.com/hafeezulkareem/private_repository.git svarende til den første metode.

Personligt adgangstoken i konfiguration

Prøv nu at få adgang til det private lager.

Spurgte den dig om godkendelsen?

Nej, det vil ikke bede dig om godkendelsen, før tokenet er aktivt. Lad os gå til den sidste måde at løse vores problem på.

SSH

SSH bruges til at autentificere os selv. Du finder hele dokumentet om SSH i GitHub her.

Ideen er enkel. Generer en SSH-nøgle, føj den til GitHub-kontoen og nyd adgangskodefri godkendelse.

Lad os se disse tre trin i detaljer.

  • Åbn terminal eller cmd i dit system.
  • Indtast kommandoen ssh-keygen -t rsa for at generere en ny SSH-nøgle.
  • Det vil bede om mappen for at gemme nøglen. Tryk på Enter for at vælge standardbiblioteket. Men du kan også ændre mappen baseret på dine præferencer. Her går vi med standardmappen.
  A Vintage Atari er en fantastisk vejrterminal i 2020

SSH Directory

  • Nu skal vi indtaste adgangssætningen for at beskytte vores SSH-nøgle. Men det er valgfrit.
    • Hvis vi vælger en adgangssætning til SSH-nøglen, skal vi indtaste den først, hver gang vi tænder for vores system.
    • Hvis vi ikke valgte adgangssætningen, er der ingen grund til at indtaste den først.

SSH-adgangssætning

  • Indtast adgangssætningen igen for at bekræfte den.

SSH-adgangssætning

  • Endelig vil den generere en ny SSH-nøgle til os som følger.

SSH nøgle

Vi har med succes genereret en ny SSH-nøgle i vores systemer. Det vil oprette to filer som følger (hvis du har ændret stien, kan filnavnene variere).

SSH nøglefiler

Nu er det tid til at oprette forbindelse til vores GitHub-konto. Indholdet i filen med filtypenavnet .pub skal kopieres til vores GitHub-konto for forbindelsen. I mit tilfælde er det id_rsa.pub.

  • Log ind på din GitHub-konto.
  • Åbn Indstillinger.

GitHub-indstillinger

  • Klik på SSH- og GPG-nøgler for at nå vores endelige destination.

SSH og GPG nøgler

  • Klik på den nye SSH-nøgle for at tilføje vores nygenererede SSH-nøgle.

Ny SSH nøgle

  • Du vil navigere til følgende skærmbillede.

Ny SSH nøgle

  • Tilføj den passende titel til SSH-nøglen. SSH-nøglerne er forskellige for hvert system. Så vælg ud fra det er en af ​​de gode muligheder. Men det er ikke den eneste mulighed. Du kan vælge ud fra andre ting, som du foretrækker.
  • Når du har valgt titlen, skal du kopiere og indsætte .pub-indholdet i det andet felt.

Ny SSH nøgle

  • Til sidst skal du trykke på Tilføj SSH-tasten og bekræfte adgangen med din GitHub-adgangskode.
  • Den nyligt tilføjede SSH-nøgle vil se ud som følger.

Ny SSH nøgle

Vi har tilføjet vores nygenererede SSH-nøgle til GitHub. Nu skal vi autentificere SSH-forbindelsen for at nyde adgangskodefri godkendelse senere. For at gøre det skal du indtaste følgende kommando i terminal eller cmd.

ssh -T [email protected]

SSH forbindelse

Den vil bede om bekræftelse. Bekræft det. Og det er det, og vi er færdige.

Klon nu dit private depot. Den vil ikke bede om nogen godkendelse denne gang.

Opdater, forpligt og skub. Værsgo. Det vil ikke bede dig om godkendelse længere. Nyd det.

Konklusion

Puha! vi har dækket forskellige metoder til at få adgang til private repositories uden at indtaste legitimationsoplysninger hele tiden. Du kan bruge enhver metode. Men den generelle og bedste praksis er at bruge SSH-metoden til godkendelse.

Igen er det op til din præference; der er ingen streng regel for at bruge den eneste SSH-metode. Men de fleste virksomheder bruger SSH-metoden til godkendelse, som er sikker og sparer en masse tid. Og sørg for, at dine legitimationsoplysninger er sikre.

God fornøjelse med udviklingen 🙂