Risultati push Git in "Autenticazione fallita"


705

Sono stato con Github per un po 'e sono stato bene con git add, git commite git pushfinora senza problemi. Improvvisamente sto riscontrando un errore che dice:

fatale: autenticazione non riuscita

Nel terminale ho clonato un repository, ho lavorato su un file e poi ho usato git addper aggiungere il file al registro di commit e, quando l'ho fatto git commit, ha funzionato bene. Infine, git pushrichiede nome utente e password. Li inserisco correttamente e ogni volta che lo faccio, dice lo stesso errore.

Qualcuno ha idea di quale sia la causa di questo problema e come posso risolverlo?

I contenuti di .git/configsono:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = http://www.github.com/######/Random-Python-Tests
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
[user]
        name = #####
        email = ############

qual è il tuo nome utente su github e quali sono i contenuti di .git / config?
mnagel,

aggiungilo alla domanda, i commenti non affrontano il lungo testo
mnagel

Sì scusa, ho iniziato il commento per abitudine e poi l'ho cambiato.
zkirkland,

Il tuo URL non sembra corretto. Penso che dovrebbe iniziare con https://, no http://.
John Szakmeister,

Modificato in https ... non ha funzionato.
zkirkland,

Risposte:


1203

Se hai attivato l'autenticazione a due fattori nel tuo account Github non sarai in grado di inviare tramite HTTPS utilizzando la password del tuo account. È invece necessario generare un token di accesso personale. Questo può essere fatto nelle impostazioni dell'applicazione del tuo account Github. L'uso di questo token come password dovrebbe consentire di inviare al repository remoto tramite HTTPS. Usa il tuo nome utente come al solito.

https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/

Potrebbe anche essere necessario aggiornare l'origine del repository se impostato su https:

git remote -v 
git remote remove origin 
git remote add origin git@github.com:user/repo.git  

5
Infatti. +1. Sono presenti PAT qui stackoverflow.com/a/19223896/6309 e dettaglio il processo di là: stackoverflow.com/a/18607931/6309
VonC

3
Avevo bisogno di generare nuove chiavi rsa per far funzionare le normali operazioni Git dopo aver abilitato 2FA.
R11G

5
Grazie! Ho appena avuto questo errore e questo ha aiutato, solo per sottolineare. Dopo aver creato il tuo token di accesso personale, lo copi, quindi quando invii il repository, ti verranno richiesti nome utente e password. Incolla il token di accesso nella password
pourmesomecode

87
puoi anche fare git remote add origin https://username:access-token@github.com/username/repo.gitper memorizzare il tuo token di accesso personale.
mailmindlin,

2
Per me, tutto quello che dovevo fare era abilitare l'autenticazione SSH dal mio computer locale sul mio account GitHub, quindi passare all'indirizzo remoto ssh git; help.github.com/articles/changing-a-remote-s-url
user5359531

603

Prova i seguenti passaggi per modificare o rimuovere le credenziali salvate:

  1. Fai clic su Avvia
  2. Tipo: Credential Manager (su Windows 10, questo è in "Start-> Impostazioni". Quindi cerca "Credential Manager")
  3. Vedi il Windows Credentials Managercollegamento e fai doppio clic per aprire l'applicazione.
  4. Una volta aperta l'app, fai clic sulla Windows Credentialsscheda.
  5. Individua le credenziali che desideri rimuovere / aggiornare, inizieranno con "git:" e potrebbero iniziare con "ada:"
  6. Fare clic sulla voce delle credenziali, si aprirà una vista dei dettagli della voce.
  7. Fai clic su Modifica o Rimuovi come richiesto e conferma.
  8. Lavare, risciacquare, ripetere se necessario.

inserisci qui la descrizione dell'immagine


2
Nel mio caso non si trova in "Credenziali di Windows" ma in "Credenziali generiche". Rimuovi le credenziali, fai il trucco.
Toni Gamez,

8
Puoi aprire la finestra sopra (windows + R) -> "control / name Microsoft.CredentialManager"
Sufiyan Ansari

Le credenziali possono essere lì, ma senza "git:" di fronte. Non funzionerà. Deve iniziare con 'git:'
Marques

1
Il mio datore di lavoro ha impostato l'autenticazione di Windows su Git Hub, quindi ogni volta che ho cambiato le credenziali di Windows ho dovuto aggiornarlo per il controllo del codice sorgente. La tua risposta ha funzionato.
shary.sharath,

1
Risposta fantastica. Manteniamo un repository BitBucket interno, in cui ciascuna delle credenziali del nostro account è autenticata per la nostra organizzazione. Di recente tutti i miei repository sono diventati non disponibili per l'invio di modifiche al codice. Mentre ero stato in grado di cambiare le credenziali caso per caso, in realtà non volevo farlo per ogni progetto. L'approccio di @ Pradeep mi ha permesso di risolvere la causa sottostante, che era più di una semplice modifica della password. La nostra organizzazione ha recentemente cambiato il nome del dominio interno, quindi modificando le credenziali a livello centrale, sono stato in grado di correggere tutti i miei progetti.
Michael M,

79

Questo ha funzionato per me e ricorda anche le mie credenziali:

  1. Esegui gitbash

  2. Puntare alla directory repo

  3. Correre git config --global credential.helper wincred


18
Mi ci è voluto un po 'per scoprire cosa fa: utilizza Credential Manager nel Pannello di controllo di Windows. Per smettere di usarlo: git config –global credential.helper unset Fonte e maggiori dettagli in questa risposta .
Ian W,

7
@IanW Intendi git config --global --unset credential.helper? Questo è ciò che ha funzionato per me in Git Bash.
Ellen Spertus,

1
Fai attenzione con questo comando che sostituirà il vero percorso del tuo aiutante credenziale con semplicemente "wincred" che apparentemente non è quello che ti serve.
Amarax,

2
Ho eseguito questo comando per scoprire che non è quello che volevo, il modo corretto di disinserirlo è git config --global --unset credential.helper. Alla fine, ho ripristinato la mia impostazione corretta con git config credential.helper store.
Omar,

Questo mi aiuta! Grazie!
Jefsama,

70

Che tu abbia cambiato la password di recente per il tuo account git Potresti provare git pushcon l' -uopzione

git push -u origin branch_name_that_you_want_to_push

Dopo aver eseguito il comando precedente, verrà richiesta la password per fornire la password aggiornata

Spero che ti possa aiutare


funziona, cosa che il mio ambiente deve essere httpssolo
BMW

1
Certamente molto più facile della maggior parte delle risposte. (E cambiare password dovrebbe essere il motivo più comune per ottenere un errore di autenticazione ;-))
Michel

se lo stai riscontrando su un clone esistente - quindi fai ungit push -u
Ajay Chebbi

64

Innanzitutto, puoi assicurarti di utilizzare l'URL corretto:

git remote set-url origin https://github.com/zkirkland/Random-Python-Tests.git

Quindi, se funzionava prima e se non ti chiedeva il tuo nome utente, deve essere perché avevi memorizzato le tue credenziali (login / password) in un $HOME/.netrcfile, come spiegato qui . Puoi ricontrollare quelle impostazioni e assicurarti che il tuo proxy, se ne hai uno, non sia cambiato.

Se il problema persiste, puoi passare a un URL ssh:

git remote set-url origin git@github.com:zkirkland/Random-Python-Tests.git

Ciò significa che hai pubblicato la tua chiave pubblica ssh nelle impostazioni del tuo account .


9
Il passaggio da HTTPS a SSH ha risolto il problema per me.
leymannx,

3
Avevo abilitato l'autenticazione a 2 fattori per il mio account GH e il passaggio dell'URL remoto a SSH da HTTPS ha risolto il problema "Autenticazione fallita" per me. Ha senso. Grazie!
Walter Roman,

55

Succede se cambi il tuo login o la password dell'account del servizio git (Git). È necessario modificarlo anche in Gestione credenziali di Windows . digitare "Credential Manager" nel menu di ricerca di Windows aprirlo.

Gestione credenziali di Windows-> Credenziali di Windows e in Credenziali generiche modifica la tua password git.


4
Questo mi ha salvato quando lavoravo con GitLab (quando praticamente nient'altro ha aiutato). Grazie!
John Humphreys - w00te,

2
Non avevo mai sentito parlare di questo gestore delle credenziali di Windows .... Grazie!
Sam,

1
Ho fornito credenziali errate quando Git mi ha richiesto l'ID utente e la password durante l'invio di nuovi file al repository remoto. Quando ho eseguito di nuovo il comando push, git non mi ha richiesto le credenziali, ma stava solo lanciando un errore di autenticazione fallita. Mi sono reso conto dopo aver letto questa risposta che git utilizza le credenziali archiviate nel gestore delle credenziali e che dovrebbe essere il motivo per cui git non richiede la password ogni volta che inviamo al repository remoto. Ho eliminato la password git nel gestore delle credenziali, dopo di che git mi ha richiesto nuovamente ID utente e password.
Jchenna

41

Fondamentalmente le mie credenziali erano scadute e stavo affrontando il problema sopra.

Il seguente comando 2 mi ha aiutato:

git config --global --unset credential.helper

git config credential.helper store

Ti chiederanno le credenziali la prossima volta che proverai a spingere.

Seguire le linee guida di seguito per maggiori dettagli per l'archiviazione sicura e non protetta di nome utente e password:

https://git-scm.com/docs/git-credential-store

https://git-scm.com/docs/git-credential-cache


Questo ha funzionato per me dopo aver modificato la mia password su Github e non avevo modificato le mie credenziali localmente.
Scott,

33

Se hai riscontrato un errore di autenticazione quando hai inserito la password e il nome utente corretti, è un problema git. Per risolvere questo problema quando si installa git sul computer, deselezionare Abilita gestione credenziali gitinserisci qui la descrizione dell'immagine


1
Questo risolto il mio problema
user1929819

riparato anche il mio. Grazie mille!
Brian Edwards,

Non trovo questo tipo di soluzione. Ho reinstallato git
Hoque MD Zahidul

Risolto anche il mio problema (git era installato, appena reinstallato deselezionando questo: ed è ok!)
manatlan

1
Ho dovuto selezionare anche "Usa la libreria nativa di Windows Secure Channel". Non è controllato per impostazione predefinita.
doptrois,

25

Penso che per qualche motivo GitHub si aspetti che l'URL NON abbia un sottodominio www. Quando uso (ad esempio)

git remote set-url origin https://www.github.com/name/repo.git

dà i seguenti messaggi:

remote: Anonymous access to name/repo.git denied
fatal: Authentication failed for https://www.github.com/name/repo.git

Tuttavia, se uso

git remote set-url origin https://github.com/name/repo.git

funziona perfettamente. Non ha molto senso per me ... ma credo di non aver messo www nell'URL remoto per i repository GitHub.

Si noti inoltre che gli URL dei cloni forniti nella pagina Web del repository GitHub non includono il www.


4
Non mettere "www" su "github.com" funziona. Dato che è importante, Github dovrebbe riparare il loro sito in modo da non poter clonare usando "www".
John Nagle,

1
Grazie:) Nel mio URL mancava il .git, e questo commento mi ha fatto dare un'occhiata e capirlo.

19

Ciao, stavo ottenendo lo stesso errore, ho provato tutte le soluzioni indicate in questa pagina, ma non ha funzionato. Alla fine ho trovato la soluzione, quindi ho pensato di pubblicarla. Per favore, correggimi se sbaglio dovunque. Questo tipo di errore si verifica se a volte la password di sistema è cambiata di recente in qualsiasi momento. Tenterà di convalidare dalla vecchia password. Quindi, attenersi alla seguente procedura:

  1. Vai al pannello di controllo
  2. Fai clic su Account utente
  3. Sotto Gestione credenziali
  4. Vai a Gestisci credenziali di Windows
  5. Vai a Credenziali generiche
  6. Espandi la scheda git server
  7. fai clic su Rimuovi dal vault

    • Inoltre puoi fare clic su Modifica e cambiare la password memorizzata qui direttamente.

10

Mi sono imbattuto in "$ git fetch fatal: autenticazione non riuscita per" http: // .... "dopo che la mia password di Windows è scaduta ed è stata modificata. Più recuperi, riavvio e persino reinstallazione di git con Windows Credential Manager non sono stati d'aiuto.

Sorprendentemente la risposta giusta da qualche parte qui nei commenti ma non nelle risposte (e alcuni di loro sono davvero strani!). Devi andare nel Pannello di controllo -> Credential Manager / Credenziali di Windows e aggiornare la password per git: http: // indirizzo personale


9

Non sono davvero sicuro di cosa ho fatto per ottenere questo errore, ma sto facendo:

git remote set-url origin https://...

non ha funzionato per me. Però:

git remote set-url origin git@bitbucket.org:user/repo

in qualche modo ha funzionato.


3
Sei passato da https a ssh
James Wierzba,

Funziona anche per me. Questo non è magico, è perché ho memorizzato la configurazione per l'accesso ssh (con una chiave pubblica configurata), che non vengono raccolti per l'accesso https (che è utente / pass + MFA).
Daniel Dubovski

8

Ho avuto lo stesso problema. Ho impostato l'URL in questo modo:

git remote set-url origin https://github.com/zkirkland/Random-Python-Tests.git

Ho anche rimosso dal file di configurazione questa entrata askpass = /bin/echo. Quindi "git push" mi ha chiesto nome utente e password e questa volta ha funzionato.


Non avevo bisogno di rimuovere dal file di configurazione questa entrata askpass = /bin/echo.
Darius Miliauskas il

5

Nel mio caso, ho recentemente cambiato la mia password di Windows e ho la chiave SSH configurata per le azioni correlate a git (pull, push, fetch ecc.), Dopo che ho riscontrato l'errore "fatale: autenticazione fallita", ho aggiornato la mia password in Windows gestore credenziali (Pannello di controllo \ Account utente \ Gestore credenziali) per tutti gli elementi che iniziano con git: ... e riprovato, ha funzionato questa volta!



3

Se hai abilitato l'autenticazione a due fattori sul tuo account Github, accedi al tuo account GitHub e vai a: https://github.com/settings/tokens/new per generare un nuovo token di accesso, copia quel token e incolla come una password per l'autenticazione nel terminale.


2

Se sei su Windows e stai provando a eseguire il push su un server Windows con utenti di dominio che lavorano come utenti di repository (TFS), prova ad accedere all'URL TFS (ad es. http:\\tfs ) con IE. inserisci le credenziali del tuo account di dominio e fai apparire la pagina.

ATTENZIONE usare solo INTERNET EXPLORER! gli altri browser non cambieranno le credenziali di sistema.

Ora vai su git bash e cambia il tuo utente remoto per il repository come di seguito:

git config user.name "domainName\userName"

E fatto, ora puoi spingere!


1

Per quanto mi riguarda, ho dimenticato di aver modificato la password su Github.com e il mio portachiavi per l'autenticazione della shell non è mai stato aggiornato con quella nuova password. Eliminare tutto git dal mio portachiavi e quindi rieseguire la richiesta git mi ha aiutato a risolvere il problema, chiedendomi di nuovo la nuova password.


1

Solo per entrare qui, ciò che ha risolto il problema per me è stato semplicemente l'annullamento dal prompt iniziale, quello ssh aperto con il mio account bitbucket, ho inserito la password lì e tutto ha funzionato come previsto.


1

Stavo affrontando lo stesso problema su Windows. Il più delle volte di solito affronta il problema a causa dell'utilizzo di più account Git. Se sei su Windows, ti preghiamo di aprire il terminale come amministratore e provare a eseguire nuovamente i comandi. Assicurarsi di disporre dei diritti di accesso dell'amministratore.


1

Stavo aggiungendo a Bitbucket collegato a Git e ho dovuto rimuovere le chiavi memorizzate, poiché ciò causava l'errore fatale.

Per risolvere, ho aperto il prompt dei comandi ed eseguito

 rundll32.exe keymgr.dll, KRShowKeyMgr

Ho rimosso la chiave responsabile dell'accesso e la volta successiva che ho inviato i file al repository, sono state richieste le credenziali e sono state immesse quelle corrette, ottenendo un push riuscito.


0

Ho anche riscontrato l'errore (ecco perché sono arrivato qui), ma nessuno dei suggerimenti ha funzionato per me. Questa è stata la prima volta che ho provato a distribuire Git locale su azzurro. Quando ho ricevuto questo errore, ho ripristinato le mie credenziali (facendo clic sul collegamento in Azure) dopo alcuni tentativi. Il problema è che a questo punto mi dice che il mio nome utente è già stato preso, quindi ho anche cambiato il mio nome utente con un altro. Alla fine, ho eliminato manualmente la cartella .git sul mio disco locale e la ho ridistribuita senza problemi.


0

Dichiarazione del problema: "autenticazione fatale git fallita". Sto usando Bitbucket.

Soluzione: ho semplicemente eliminato l'utente dall'uso della gestione degli accessi di bitbucket e quindi ho aggiunto lo stesso utente. Il file .gitconfig è semplice

[user]
    name = BlaBla
    email = blabla@gmail.com

[push]
    default = simple

0

con le credenziali corrette se il problema prevale

se stai usando androidstudio 2.1 beta quindi il suo bug, esegui l'upgrade a beta 2 (file di aggiornamento da 3 MB), questo ha funzionato per me


0

Assicurati di disporre dell'autorizzazione WRITE per inviare.

read ***write*** admin 

0

Assicurarsi che la chiave ssh sia aggiunta alla sessione ssh corrente.

  1. Copia l'output delle cat ~/.ssh/id_rsa.pubimpostazioni di GitHub nelle chiavi SSH e GPG.

  2. Aggiorna la tua sessione ssh corrente con ssh-add ~/.ssh/id_rsa.pub

Sto usando Windows Powershell con Openssh installato.


0

in Android Studio Canary Build 3.1+, se si utilizza lo strumento git di Android Studio, è possibile utilizzare quanto segue:

  • Fai clic su Android Studio
  • Fai clic su Preferenze ...
  • GO in VersionControl -> Github
  • Qui cambia il tipo di autenticazione in password
  • Questo passaggio richiederà l'inserimento di login e password. Inserisci il tuo nome utente github come login e la password github come password.
  • Fai clic sul pulsante Test.

Se la connessione ha esito positivo, allora hai finito e puoi usare il client dell'interfaccia utente di Android Studio Github.


0

Se stai usando ssh e clonato con https questo non funzionerà. Clonare con ssh e quindi premere e tirare dovrebbe funzionare come previsto!


0

Nel caso in cui ciò sia tangenzialmente utile, dal momento che questa domanda è ora un successo per i problemi di autenticazione http con git: Windows Credential Manager aveva memorizzato la mia password correttamente, e da quando stavo usando Git LFS ho configurato un URL http invece del solito ssh: / / .

Il mio problema era che la mia politica di password aziendale imponeva una modifica della password dell'account ma non ho mai aggiornato le mie credenziali archiviate (poiché utilizzo sempre una chiave ssh).

Semplicemente l'aggiornamento della password direttamente nella GUI di Wincred ha funzionato: basta cercare una git:https://<your-url>voce.


0

Questo ci è successo dopo aver forzato "Autenticazione a due fattori" prima di accedere da Gitlab. Abbiamo dovuto incollare il testo all'interno di id_rsa.pub in Gitlab e quindi reintrodurre il repository nel codice VS usando il terminale.

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.