Errore irreversibile di Git: autenticazione non riuscita


103

Sto cercando di utilizzare git per inviare il mio repository a un progetto di servizi del team di Visual Studio, ma ottengo l'errore:

fatal: Authentication failed for (url of team project

Sto usando i cmds:

git remote add origin
     https://XXXXXXX.visualstudio.com/DefaultCollection/_git/project

git push -u origin -–all

Qualche idea della soluzione per questo?

Grazie!


1
Come ti stai autenticando? Token di accesso personale? Credenziali di accesso alternative?
Daniel Mann

Risposte:


196

Recentemente ho avuto lo stesso problema (Visual Studio 2017 e Windows 10) e l'ho risolto utilizzando il seguente metodo:

Pannello di controllo -> Gestione credenziali -> Gestisci credenziali di Windows -> Scegli la voce del repository git e Modifica utente e password.

Fatto.


1
Ho utilizzato questo metodo quando il mio token di accesso personale è scaduto. Vai a <<URL>> / _ usersSettings / tokens per crearne uno nuovo, quindi impostalo come password in Credential Manager.
Anche Mien

34

Se desideri utilizzare GIT CLI e non interagire con la build nei wrapper GIT in Visual Studio, devi abilitare le credenziali di autenticazione alternative

Come?

Open your account (VS Online account) 
-> click on your name on the top right 
-> My Profile
-> Credentials.

e impostalo.


inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


4
La sicurezza è ora una voce separata nel menu. Se fai clic su profilo, si passa a una pagina molto diversa.
Lukos

2
può variare tra le versioni. questo è il motivo per cui ho aggiunto screenshot
CodeWizard

1
Non ho dovuto farlo. L'uso di un PAT per Git Bash sembra funzionare perfettamente.
Josh Gust,

1
Utilizza un PAT invece di credenziali alternative.
Edward Thomson

1
L'abilitazione delle credenziali alternative non è consigliata: le credenziali di dominio transitano in testo non crittografato e possono finire nei log IIS di livello applicazione
Giulio Vian

28

Ho affrontato lo stesso problema. La finestra di output dell'errore ha questo aspetto: Immagine autenticazione fallita

Seguendo i passaggi è stato risolto il problema:

  1. Vai a Pannello di controllo -> Gestione credenziali -> Credenziali di Windows
  2. Sotto Generic Credential, scegli una voce della password git e update.

    finestra della soluzione

  3. La password deve essere uguale alla password di accesso di Windows (sistema).


17

L'opzione migliore oggi è installare https://github.com/Microsoft/Git-Credential-Manager-for-Windows che supporta VSO, GitHub e migliora ogni mese.


2
@dotnetdev Si prega di accettare questa risposta perché questo è un modo consigliato per risolvere il problema.
Deilan

1
Questo è anche disponibile per Mac e Linux su github.com/Microsoft/Git-Credential-Manager-for-Mac-and-Linux - ha funzionato perfettamente per me senza dover aggiungere "credenziali alternative" meno sicure.
Breeno

1
Questa è davvero la soluzione "de facto" fornita da Microsoft. Altre soluzioni che effettivamente funzionano qui devono essere considerate come modifiche.
Stephane

11

Con VSTS l'URL è, Quando copi l'URL di git clone da vsts ottieni sempre

https: // orgname @ dev.azure.com / org / project / _git / repo

Sostituisci orgname @ con il tuo nome utente alternativo che avresti creato in VSTS -> profilo -> Sicurezza.

URL git finale -

https: // nomeutente alternativo @ dev.azure.com / org / project / _git / repo


7

Ho avuto lo stesso problema, ho provato ad aggiornare la mia password utilizzando il gestore delle credenziali di Windows, ma ancora non ha risolto il problema

Pannello di controllo -> Gestione credenziali -> Gestisci credenziali di Windows -> Scegli la voce del repository git e Modifica utente e password.

Ho quindi cancellato tutte le voci relative a git nel gestore delle credenziali e quindi ho provato a utilizzare Git utilizzando Visual Studio, questa volta ha richiesto nuove credenziali


5

Elimina ".git / config" e riprova. Attenzione questo potrebbe ripristinare anche alcune impostazioni di git!

Ho provato molte volte credenziali alternative e token di accesso personale con le credenziali giuste e continuava a dirmi "fatale: autenticazione fallita".

Infine, ho scoperto che c'è un file chiamato ".git / config" situato nella radice del mio repository. Ho cancellato questo file e ho digitato di nuovo le mie credenziali, ha funzionato.


3

Ho improvvisamente iniziato a ricevere questo errore durante il tentativo di inviare modifiche da VS2017 a un repository Git VSTS. Questa funzionalità aveva funzionato il giorno prima.

Ho controllato il mio file git.log e ho visto un'eccezione diversa: -

19: 43: 57.116665 ... zureAuthority.cs: 184 trace: server [ValidateCredentials] restituito: "Impossibile connettersi al server remoto.

Ho scaricato l'ultima fonte Git CredentialManager dal repository Gits Credential Manager e ne ho eseguito il debug.

Una volta autenticato, si è verificata la seguente eccezione: -

Impossibile stabilire una connessione perché la macchina di destinazione l'ha rifiutata attivamente 127.0.0.1:8888

Mi sono quindi reso conto di aver recentemente configurato Fiddler in modo che fungesse da proxy per tutti i servizi secondo l'articolo capturing-traffic-from-.net-services-with-fiddler

Una volta eseguito Fiddler, sono stato in grado di connettermi con successo.


3

La mia soluzione era leggermente diversa e più veloce :)

  1. Vai a Credenziali Windows (Start-> Credenziali Windows) e rimuovi le credenziali per il tuo repository (iniziano con git: xxx)
  2. Vai a VSCode e in Terminale scrivi:

    config credential.helper wincred

  3. Vai a Visual Studio (senza VSCode) e fai un pull git. Apparirà un popup che richiede le credenziali. Inserisci le tue credenziali per il repo

  4. Vai a VSCode e fai un git pull. Le credenziali sono state recuperate automaticamente da Wincred Store

Le credenziali vengono create automaticamente e archiviate in wincredentials, quindi la prossima volta che non ti verranno richieste le credenziali. (anche un token di accesso personale verrà fornito da visualstudio.com se si utilizza il repository git ospitato da DevOps).


Start-> Windows Credentials funziona a meraviglia! Grazie!
Highriser

2

Per gli utenti Linux che non possono utilizzare Microsoft Credential Manager. Questa è l'unica soluzione che ho trovato oltre all'utilizzo di ssh. È necessario generare le credenziali nella visualizzazione del repository (vedere le immagini sotto) ottenere le credenziali git

E il risultato è: ottenere il risultato delle credenziali Git

Copia la password !. Azure devops non lo archivia e non potrai più vederlo!

NB: A partire dal 2020 le credenziali alternative sono state disabilitate, controllare il blog Microsoft


1

Ho provato molte opzioni, ma quella che ha funzionato per me è stata:

  1. Scarica Git Password Manager dalla sua sezione Versioni

  2. Prova a fare il semplice git fetchche porterà automaticamente la finestra (alternativa a quella di default di Windows per esempio) e chiedi di inserire username e password ma con un modo più elegante di quello standard.

Dopo aver inserito correttamente le credenziali ha funzionato, anche se prima ho ricevuto un errore.

PS Se ricevi il tipo di errore "Credenziali errate" controlla sempre se il nome utente e la password del repository sono corretti. Se esiti, reimposta la password e prova a utilizzare la stessa nella finestra di Git Password manager.


1

Ho avuto questo problema e le istruzioni di un tecnico di Microsoft lo hanno risolto per me:

  • Chiudi tutte le istanze di Visual Studio.
  • Apri il Task Manager e controlla se sono in esecuzione servizi TFS. Seleziona ciascuno di essi e fai clic su Termina albero processo.
  • Vai alla cartella sottostante ed elimina tutti i contenuti e le cartelle in% LocalAppData% \ Microsoft \ Team Foundation {versione} \ Cache
  • Vai su Pannello di controllo -> Account utente -> Gestisci le tue credenziali -> Credenziali Windows, seleziona l'URL VSTS per rimuoverlo
  • Quindi vai a "C: \ Users \ USER NAME \ AppData \ Local \ GitCredentialManager \ tenant.cache" ed eliminalo
  • Vai anche a "C: \ Users \ USER NAME \ AppData \ Local.IdentityService" ed eliminalo

0

Tutto ciò di cui avevo bisogno erano le credenziali corrette. durante la distribuzione su un'app Web, dovevo andare al Deployment Center, Deployment Credentials. Quindi utilizza le credenziali dell'app o crea le credenziali utente. Successivamente, elimina le credenziali memorizzate nella cache sul computer locale (Windows: Pannello di controllo \ Account utente \ Credential Manager). eseguire nuovamente "git push webapp master: master", immettere una delle credenziali di distribuzione. Questo ha funzionato per me.


0

Nel caso in cui tu sia su qualcos'altro, Windows e il tuo capo ti costringa a usare azure devops, e non vuoi usare SSH e vuoi usare in modo semplice, fai quanto segue.

Devi abilitare le "Credenziali alternative" (so che è fastidioso) o devi creare un token di accesso. La creazione di un token di accesso in questo caso è più simile a una password casuale temporanea. Se usi gli strumenti di Windows, è fatto per te.

Ad ogni modo, vai a Securitynel menu contestuale del profilo nell'angolo in alto a destra.

Impostazioni di sicurezza

Quindi se il tuo capo / manager / tizio che ha i diritti di amministratore ti sta favorendo, le "credenziali alternative" sono abilitate. Altrimenti accetta il tuo destino e genera un "gettone di accesso personale".

Impostazioni di sicurezza


0

2-5 minuti per l'installazione!

  • Crea le tue chiavi SSH (~ / .ssh /)

ssh-keygen -C "jamal@fabrikam.com"

  • Aggiungi la chiave pubblica a Azure DevOps Services / TFS
  • Clona il repository Git con SSH

fonte


0

Dopo aver lottato con l'autenticazione git e il server devops azzurro e aver provato altre risposte, questo suggerimento qui ha funzionato per me.

Usi Visual Studio? Team Explorer gestisce l'autenticazione con Azure Repos per te.

Una volta connesso al repository utilizzando Team Explorer, potrei usare la riga di comando per eseguire i comandi git.


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.