Hur ställer jag in lösenordslös autentisering till GitHub Private Repository?

Upprepning av samma uppgift är tråkigt och smärtsamt för programmerare som oss. Är det inte?

En av sådana uppgifter är interaktiv med GitHubs privata arkiv. Vad är det med det? Du vet vad det är. Och du letar efter sätt att lösa det och landade på den här artikeln. Du kommer att sluta söka efter att ha läst den här artikeln.

Så här ska vi prata om att komma åt GitHubs privata arkiv utan lösenord. Utan vidare, låt oss komma igång.

Det finns två sätt att komma åt vilket GitHub-förråd som helst. De är HTTPS och SSH. De flesta av er använder HTTPS. Men nu kommer du att veta att det inte är ett effektivt sätt att använda HTTPS-metoden för att klona de privata arkiven.

Åtkomst inkluderar kloning, skjutning, dra, etc.; allt som är relaterat till att uppdatera vårt arkiv i fjärrkontrollen.

Det är inga problem när det gäller att komma åt de offentliga arkiven. Men vi måste autentisera oss när vi kommer åt ett privat förråd. Det finns olika sätt att autentisera oss.

Låt oss börja med den mest bekanta…

Om du använder HTTPS

Du borde förmodligen känna till HTTPS-metoden och leta efter andra. Låt oss snabbt se hur man kommer åt ett privat arkiv med det.

  • Kopiera din privata förvarslänk.

GitHub Private Repository

  • Öppna terminalen eller cmd i din maskin.
  • Klistra in kommandot git clone länk för att klona det privata förvaret.
  • Ersätt länken med din privata arkivlänk.
  • Det kommer att be oss att autentisera oss. Så vi måste ange våra GitHub-uppgifter.
  • Först kommer det att be oss att ange vårt GitHub-användarnamn. Ange ditt GitHub-användarnamn och tryck på Enter.

Användarnamn för autentisering

  • Nu måste vi ange lösenordet. Skriv ditt GitHub-lösenord och tryck på Enter.

Autentiseringslösenord

Det är allt; vi har klonat det privata förvaret med hjälp av HTTPS-metoden. Uppdatera nu något i förvaret, commit och skjut dem till fjärrkontrollen.

Vad märkte du?

Den ber återigen om autentisering.

Tryck på autentisering

Är det inte en tråkig och tung uppgift att ange referenser varje gång vi interagerar med det privata förvaret?

Ja det är det.

Vi kan inte ange våra GitHub-uppgifter när vi interagerar med vårt privata arkiv. Det är en tidskrävande process och saktar ner vårt arbete.

Det finns olika sätt att bli av med ovanstående problem. Det bästa sättet att göra det är att använda SSH. Men det finns andra sätt att göra det på. Låt oss titta på dem alla en efter en.

.git config

All information om våra repositories-versioner lagras i .git-katalogen. Det är en dold mapp. Det finns en konfigurationsfil i den som låter oss konfigurera inställningarna. Men det rekommenderas inte i allmänhet.

Vi kan klona ett privat arkiv genom att lägga till vårt användarnamn och lösenord i arkivets URL enligt följande.

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

Uppdatera användarnamn, lösenord och repository_name med lämplig information. Eftersom vi har angett våra referenser i URL:en kommer den inte att begära autentisering som vi har sett tidigare.

Så vi kommer att följa ovanstående autentiseringsmetod och uppdatera vår förvarskonfiguration därefter. Låt oss se stegen för att bli av med upprepad autentisering genom att uppdatera URL:en.

  • Öppna mappen .git i ditt klonade arkiv.

.git mapp

  • Du hittar en fil med namnet config. Öppna den med valfri textredigerare.
  • Det kommer att finnas en rad med vår förvarslänk enligt följande.

Förvarslänk i konfig

  • Uppdatera URL:en genom att lägga till ditt användarnamn och lösenord, enligt ovan.

Uppdatering av arkivets URL

Uppdatera nu något i förvaret igen, commit och push dem.

Iakttar du något?

Den borde inte ha bett om dina GitHub-uppgifter den här gången. Så vi har löst vårt problem genom att uppdatera vår arkivinställning.

Du kanske har märkt att det inte är säkert. När vi avslöjar våra referenser. Och den här metoden fungerar inte om ditt GitHub-lösenord innehåller @-tecken.

Så det finns några kritiska nackdelar med att använda denna metod. Låt oss därför ignorera det och gå vidare till nästa metod.

credential.helper

Credential.helper tillåter oss att lagra referenserna för alltid i filen ~/.git-credentials.

Det kommer att lagra våra referenser när vi anger dem för första gången. Återigen när vi försöker komma åt det privata arkivet, kommer det inte att fråga efter referenser förrän det har lagrats i filen ~/git-credentials. Så det är ett av sätten att undvika vårt problem. Låt oss se det i aktion med exakta steg.

  • Först måste vi aktivera alternativet att lagra våra referenser med kommandot git config credential.helper store.
  • Efter att ha aktiverat alternativet, försök att komma åt det privata arkivet med ditt användarnamn och lösenord.
  • När du har angett ditt användarnamn och lösenord kommer det att lagras i filen ~/.git-credentials med dina GitHub-uppgifter enligt följande.

git-referenser

Nu, återigen samma process för att kontrollera om det fungerar korrekt eller inte. Uppdatera, engagera och tryck. Jag är säker på att det inte kommer att be dig om referenserna om du har följt stegen ovan för att lagra dina referenser.

Går bra…

Vad händer om du vill spara referenserna i 4 timmar istället för för alltid?

Credential.helper tillhandahåller ett sätt att lagra våra referenser tillfälligt under en viss tid. Vi använder cache istället för butik för att lagra referenserna under en viss tid.

Cachen lagrar våra referenser i 15 minuter som standard. Efter 15 minuter kommer git igen att be om referenser. Men vi kan ändra standardtiden med följande kommando.

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

Glöm inte att ge tiden i sekunder. Låt oss se det i aktion.

  • Först måste vi aktivera alternativet att cachelagra våra referenser med kommandot git config credential.helper cache.
  • Gå till det privata förrådet med ditt användarnamn och lösenord.
  • När du har angett ditt användarnamn och lösenord, cachelagras dina GitHub-uppgifter under en viss tid.

Nu, uppdatera, begå och tryck. Återigen kommer det inte att fråga efter dina referenser som vi har sagt det för att cache dem.

Vi har visat dig kommandona för att arbeta i ett git-initierat arkiv. Vi kan uppdatera git-konfigurationen globalt för alla projekt genom att lägga till flaggan –global i ovanstående kommandon.

Personliga åtkomsttokens

De personliga åtkomsttokenen används för att ge åtkomst till GitHub API. De personliga åtkomsttokenen är som OAuth-tokens. Så de kan användas för grundläggande autentisering istället för ett lösenord för git. Därför kan vi använda de personliga åtkomstsymbolerna för att lösa vårt problem.

Låt oss se hur man gör det.

  • Logga in på ditt GitHub-konto.
  • Gå till Inställningar.

GitHub-inställningar

  • Gå nu till utvecklingsinställningarna från det vänstra navigeringsfältet.

GitHub-utvecklarinställningar

  • Klicka på personliga åtkomsttokens för att nå vår slutdestination. Du kommer att se de personliga åtkomstsymbolerna enligt följande.

GitHub personliga åtkomsttokens

  • Klicka på Generera ny token för att generera en ny.

Generera ny token

  • Ange anteckningen för token. Du kan tänka på det som korta anteckningar för token att komma ihåg.

Personlig åtkomsttoken Obs

  • Välj behörigheter för token. Programmen som använder token kommer att ge åtkomst till alla valda behörigheter. I vårt fall väljer du repo.

Lagringsbehörigheter

  • Rulla ner till botten och klicka på knappen Generera token.

Generera token-knapp

  • Det kommer bara att visa den personliga åtkomsttoken en gång enligt följande. Vi kan inte se vår personliga token igen. Så kopiera det och spara det någonstans säkert. Använd en lösenordshanterare om du behöver.

Personlig åtkomsttoken

  • Vi har framgångsrikt skapat den personliga åtkomsttoken.
  • Nu är det dags att använda den för att komma åt vårt privata arkiv.
  • Uppdatera arkivets URL i .git/config-filen som https://{personal_access_token}@github.com/hafeezulkareem/private_repository.git liknande den första metoden.

Personlig åtkomsttoken i config

Försök nu att komma åt det privata förvaret.

Frågade den dig om autentiseringen?

Nej, den kommer inte att be dig om autentisering förrän token är aktiv. Låt oss gå till det sista sättet att lösa vårt problem.

SSH

SSH används för att autentisera oss. Du hittar hela dokumentet om SSH i GitHub här.

Tanken är enkel. Generera en SSH-nyckel, lägg till den i GitHub-kontot och njut av lösenordslös autentisering.

Låt oss se dessa tre steg i detalj.

  • Öppna terminal eller cmd i ditt system.
  • Ange kommandot ssh-keygen -t rsa för att generera en ny SSH-nyckel.
  • Den kommer att fråga efter katalogen för att spara nyckeln. Tryck på Enter för att välja standardkatalogen. Men du kan också ändra katalogen baserat på dina önskemål. Här går vi med standardkatalogen.

SSH-katalog

  • Nu måste vi ange lösenfrasen för att skydda vår SSH-nyckel. Men det är valfritt.
    • Om vi ​​väljer en lösenfras för SSH-nyckeln måste vi ange den först när vi slår på vårt system.
    • Om vi ​​inte valde lösenfrasen behöver vi inte ange den först.

SSH-lösenfras

  • Ange lösenfrasen igen för att bekräfta den.

SSH-lösenfras

  • Slutligen kommer den att generera en ny SSH-nyckel för oss enligt följande.

SSH-nyckel

Vi har framgångsrikt genererat en ny SSH-nyckel i våra system. Det kommer att skapa två filer enligt följande (om du har ändrat sökvägen kan filnamnen variera).

SSH-nyckelfiler

Nu är det dags att ansluta till vårt GitHub-konto. Innehållet i filen med filtillägget .pub måste kopieras till vårt GitHub-konto för anslutningen. I mitt fall är det id_rsa.pub.

  • Logga in på ditt GitHub-konto.
  • Öppna Inställningar.

GitHub-inställningar

  • Klicka på SSH- och GPG-nycklar för att nå vår slutdestination.

SSH- och GPG-nycklar

  • Klicka på Ny SSH-nyckel för att lägga till vår nygenererade SSH-nyckel.

Ny SSH-nyckel

  • Du kommer att navigera till följande skärm.

Ny SSH-nyckel

  • Lägg till lämplig titel för SSH-nyckeln. SSH-nycklarna är olika för varje system. Så, välj baserat på det är ett av de bra alternativen. Men det är inte det enda alternativet. Du kan välja baserat på andra saker som du föredrar.
  • När du har valt titel kopierar du och klistra in .pub-innehållet i det andra fältet.

Ny SSH-nyckel

  • Slutligen, tryck på Lägg till SSH-tangenten och bekräfta åtkomsten med ditt GitHub-lösenord.
  • Den nyligen tillagda SSH-nyckeln kommer att se ut som följer.

Ny SSH-nyckel

Vi har lagt till vår nygenererade SSH-nyckel till GitHub. Nu måste vi autentisera SSH-anslutningen för att kunna njuta av lösenordslös autentisering senare. För att göra det, skriv in följande kommando i terminal eller cmd.

ssh -T [email protected]

SSH-anslutning

Den kommer att be om bekräftelse. Bekräfta det. Och det är det, och vi är klara.

Klona nu ditt privata arkiv. Den kommer inte att begära någon autentisering den här gången.

Uppdatera, engagera och tryck. Varsågod. Det kommer inte att be dig om autentiseringen längre. Njut av det.

Slutsats

Puh! vi har täckt olika metoder för att komma åt privata arkiv utan att ange referenser hela tiden. Du kan använda vilken metod som helst. Men den allmänna och bästa praxisen är att använda SSH-metoden för autentisering.

Återigen är det upp till dina önskemål; det finns ingen strikt regel för att använda den enda SSH-metoden. Men de flesta företag använder SSH-metoden för autentisering, vilket är säkert och sparar mycket tid. Och se till att dina referenser är säkra.

Lycka till med utvecklingen 🙂