Hur man ställer in HTTPS Personal Access Tokens för Github-autentisering

0
126

Från och med augusti 2021 har Github tagit bort stödet för att använda ditt kontolösenord från kommandoraden Git. Du kan fortfarande använda HTTPS, men du måste ställa in en personlig åtkomsttoken att använda istället för ditt lösenord.

Vad är personliga åtkomsttokens?< /h2>

Github väljer fortfarande att rekommendera enklare att använda HTTPS-slutpunkter för åtkomst till repor, men deras lösenordsbaserade säkerhet är en stor nackdel. Det är därför, om du nyligen har försökt trycka eller dra kod med ditt kontolösenord, kan du ha fått följande felmeddelande:

fjärrkontroll: Stöd för lösenordsautentisering togs bort den 13 augusti 2021. Använd en personlig åtkomsttoken istället.

Git’s kommandorad är lite missvisande här, eftersom den frågar efter ditt “lösenord,” men Git vill att du ska använda något som kallas en personlig åtkomsttoken (PAT). Detta fungerar ungefär som ett sekundärt lösenord, förutom att det är unikt, säkrare och kan ges mer specifika behörigheter som låter dig ge dig åtkomst till ditt konto på ett säkert sätt.

Du använder PAT precis som lösenord—istället för att skriva in ditt kontolösenord för git, anger du PAT. Du kan också välja att cacha token för alltid, så att du inte behöver ange den hela tiden. Denna token kan också användas för att komma åt Github API, men det är inte nödvändigt för de flesta människors användning.

Du kan också byta till SSH-baserad autentisering, som fungerar ganska på samma sätt som åtkomsttokens, förutom att de är bundna till din maskin och inte överförs någonstans. Ändå är PAT:er enkla att ställa in och använda, och de har mer flexibla behörigheter än SSH-nycklar.

RELATERAT: Hur man byter ett Github-förråd till SSH-autentisering

Att skapa en ny personlig åtkomsttoken

Att ställa in en PAT kräver att du gör en ny från Github’s inställningar och byter över dina lokala förråd till att använda dem. Gå över till dina personliga kontoinställningar för att generera en ny token. Rulla ned till “Utvecklarinställningar.” Välj “Personliga åtkomsttokens,” och generera en ny:

Annons

Du måste verifiera ditt faktiska kontolösenord. Ge token ett namn och välj ett utgångsdatum. Du vill förmodligen ändra det från standardvärdet på 30 dagar, men Github kommer att visa en varning om du väljer “Ingen utgång.” Det är inte hemskt att ha en permanent token, men du bör förmodligen byta lösenord och token minst var sjätte månad.

Slutligen kan du välja vilka omfattningar denna token har. Detta låter dig tillåta eller förbjuda vissa åtgärder. Om du bara vill använda git från kommandoraden med dina arkiv, bryr du dig förmodligen bara om “repo” scope, som ger kontroll över dina arkiv.

Du 8217;kommer att få en token som följande, som kan användas i stället för ditt lösenord:

ghp_cgq4ZrHmFu0lLPl7ajKAwgMPnT5zhF00000

Byt till personliga åtkomsttokens

Om ditt kontolösenord inte är cachat kan du helt enkelt ange det i den nya token, och borde fungera. Om din cache dock är inaktuell måste du återställa den.

I Windows, om du använder inbyggt Git (inte via WSL), måste du öppna upp “< strong>Hantera Windows-uppgifter” från kontrollpanelen eller startmenyn och redigera eller lägg till lösenordet till git:https://github.com.

Annons

På macOS är den tillgänglig via appen Nyckelringstillgång. Sök efter “github.com,” hitta “internetlösenordet” för ditt Git-konto och ändra nyckeln.

För Linux eller WSL måste du avaktivera cachen, antingen lokalt (för en enskild repo) eller globalt:

git config –local –unset credential.helper git config –global –unset credential.helper

Då kan du trycka eller dra från ditt repo normalt, och det kommer att få dig att ange den nya PAT om det&#8217 ; är inte cachad ännu. Du kan cache denna token längre, antingen genom att redigera cache-timeouten i autentiseringshjälpen:

git config –global credential.helper “cache –timeout=86400”

Eller genom att konfigurera den för att lagra referenserna permanent i ~/.github-credentials:

git config credential.helper store

Observera att om du tidigare hade denna cache aktiverad, kan du behöva ta bort raden med de gamla cachade referenserna i ~/. github-credentials-fil.