Git Clone da GitHub su https con autenticazione a due fattori


129

Recentemente ho iniziato a utilizzare l'autenticazione a due fattori su GitHub e ora non sono in grado di utilizzare git su https su repository privati ​​nel solito modo:

peter@computer:~$ git clone https://github.com/[...]/MyPrivateRepo
Cloning into 'MyPrivateRepo'...
Username for 'https://github.com': [...]
Password for 'https://[...]@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/[...]/MyPrivateRepo/'

Se disabilito l'autenticazione a due fattori posso usarla come prima:

peter@computer:~$ git clone https://github.com/[...]/MyPrivateRepo
Cloning into 'MyPrivateRepo'...
Username for 'https://github.com': [...]
Password for 'https://[...]@github.com': 
remote: Counting objects: 147, done.
remote: Total 147 (delta 0), reused 0 (delta 0), pack-reused 147
Receiving objects: 100% (147/147), 22.70 KiB | 0 bytes/s, done.
Resolving deltas: 100% (87/87), done.
Checking connectivity... done.

So di poter usare SSH e tutto funziona, ma esiste un modo per mantenere l'autenticazione a due fattori pur essendo in grado di utilizzare GitHub su HTTPS, ad esempio inviando un token di autenticazione con la mia richiesta?

Risposte:


155

Scopri come risolvere questo problema qui:

https://github.com/blog/1614-two-factor-authentication#how-does-it-work-for-command-line-git

Come funziona per Git da riga di comando?

Se stai usando SSH per l'autenticazione Git, stai tranquillo: non devi fare nulla. Se utilizzi HTTPS Git, invece di inserire la tua password, inserisci un token di accesso personale. Questi possono essere creati accedendo alla tua pagina dei token di accesso personali .


2
Puoi aggiungere il token al file .netrc come ho trovato nel seguente gist , per rendere automatica anche l'autenticazione.
Martin Woolstenhulme,

1
Ma sto usando ssh, quando eseguo il pull da GitHub, mi suggerisce anche di inserire password e nome utente, perché questo? Grazie per la risposta!
Starkshang

3
ancora non funziona per me dopo aver inserito il token di accesso in mac dopo sudo git clone .... il sistema chiede nome utente e password nel campo password Sto inserendo il token ma non funziona per me. ottenere lo stesso errore
ojus kulkarni

40
Usa il tuo token come nome utente e inserisci una password vuota.
Kotie Smit

Fai attenzione allo spazio extra finale quando copi manualmente il token dal sito GitHub (cioè se non usi il pulsante Copia GitHub). Mi ci è voluto un po 'per capire perché questo non ha funzionato per me.
gmargari

34

Come per la risposta di @ Nitsew , crea il tuo token di accesso personale e usa il tuo token come nome utente e inserisci con una password vuota.

Successivamente non avrai bisogno di alcuna credenziale per accedere a tutti i tuoi repository privati.


Dove consiglieresti di archiviare il token di accesso su un server remoto?
bdoubleu

2

Per tutti coloro che lottano, ciò che ha funzionato per me è stato creare un token di accesso personale e quindi utilizzarlo come nome utente E password (nel prompt che si è aperto).


1

Se il tuo repository ha 2FA abilitato. Consiglio vivamente di utilizzare l'app fornita da github.com Ecco il link: https://desktop.github.com/

Dopo averlo scaricato e installato. Segui il withard, l'app ti chiederà di fornire la password una tantum per l'accesso. Dopo aver inserito la password una tantum, ora puoi vedere il tuo repository / progetti.


aiuta solo se usi Windows
Ian Turton

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.