Error fatal de Git: falló la autenticación


101

Estoy tratando de usar git para enviar mi repositorio a un proyecto de servicios de equipo de Visual Studio, pero aparece el error:

fatal: Authentication failed for (url of team project

Estoy usando los cmds:

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

git push -u origin -–all

¿Alguna idea de la solución para esto?

¡Gracias!


1
¿Cómo te estás autenticando? Token de acceso personal? ¿Credenciales de acceso alternativas?
Daniel Mann

Respuestas:


196

Recientemente tuve el mismo problema (Visual Studio 2017 y Windows 10) y lo resolví con el siguiente método:

Panel de control -> Administrador de credenciales -> Administrar credenciales de Windows -> Elija la entrada del repositorio de git y edite el usuario y la contraseña.

Hecho.


1
Usé este método cuando expiró mi token de acceso personal. Vaya a <<URL>> / _ usersSettings / tokens para crear uno nuevo y luego configúrelo como contraseña en Credential Manager.
Even Mien

34

Si desea utilizar GIT CLI y no interactuar con la compilación en contenedores GIT en Visual Studio, debe habilitar las credenciales de autenticación alternativas

¿Cómo?

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

y configurarlo.


ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí


4
La seguridad es un elemento separado en el menú ahora. Si hace clic en perfil, va a una página muy diferente.
Lukos

2
puede variar entre versiones. por eso agregué captura de pantalla
CodeWizard

1
No he tenido que hacer esto. El uso de una PAT para Git Bash parece estar funcionando bien.
Josh Gust

1
Utilice una PAT en lugar de credenciales alternativas.
Edward Thomson

1
No se recomienda habilitar la credencial alternativa: las credenciales de dominio transitan en texto sin cifrar y pueden terminar en los registros de IIS del nivel de aplicación
Giulio Vian

27

Me he enfrentado al mismo problema. La ventana de salida de error se ve así: Autenticación fallida Imagen

Seguir los pasos resolvió el problema:

  1. Vaya al Panel de control -> Administrador de credenciales -> Credenciales de Windows
  2. Debajo de Credencial genérica, elija una entrada de la contraseña de git y actualización.

    ventana de solución

  3. La contraseña debe ser la misma que la contraseña de inicio de sesión de Windows (sistema).


17

La mejor opción hoy es instalar https://github.com/Microsoft/Git-Credential-Manager-for-Windows que sea compatible con VSO, GitHub y esté mejorando cada mes.


2
@dotnetdev Acepte esta respuesta porque esta es una forma recomendada de resolver el problema.
Deilan

1
Esto también está disponible para Mac y Linux en github.com/Microsoft/Git-Credential-Manager-for-Mac-and-Linux - funcionó perfectamente para mí sin tener que agregar "credenciales alternativas" menos seguras.
Breeno

1
De hecho, esta es la solución "de facto" que proporcionó microsoft. Otras soluciones que realmente funcionan aquí se considerarán ajustes.
Stephane

11

Con VSTS, la url es, cuando copia git clone url de vsts siempre obtiene

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

Reemplace orgname @ con su nombre de usuario alternativo que habría creado en VSTS -> perfil -> Seguridad.

URL final de git -

https: // nombre de usuario alternativo @ dev.azure.com / org / project / _git / repo


7

Tuve el mismo problema, intenté actualizar mi contraseña usando el administrador de credenciales de Windows, pero todavía no solucionó el problema

Panel de control -> Administrador de credenciales -> Administrar credenciales de Windows -> Elija la entrada del repositorio de git y edite el usuario y la contraseña.

Luego eliminé todas las entradas relacionadas con git en el administrador de credenciales y luego intenté usar Git usando Visual Studio, esta vez solicitó nuevas credenciales


5

Elimine '.git / config' y vuelva a intentarlo. ¡Atención, esto también puede restablecer algunas configuraciones de git!

Probé credenciales alternativas y token de acceso personal muchas veces con la credencial correcta y seguía diciéndome "fatal: falló la autenticación".

Finalmente, encontré que hay un archivo llamado ".git / config" ubicado en la raíz de mi Repo. Eliminé este archivo y volví a escribir mis credenciales, funcionó.


3

De repente comencé a recibir este error al intentar enviar cambios de VS2017 a un repositorio de VSTS Git. Esta funcionalidad había funcionado el día anterior.

Revisé mi archivo git.log y vi una excepción diferente: -

19: 43: 57.116665 ... zureAuthority.cs: 184 trace: [ValidateCredentials] servidor devuelto: 'No se puede conectar al servidor remoto.

Descargué la última fuente de Git CredentialManager del repositorio de Gits Credential Manager y la depuré.

Una vez autenticado, ocurrió la siguiente excepción: -

No se pudo establecer ninguna conexión porque la máquina de destino la rechazó activamente 127.0.0.1:8888

Luego me di cuenta de que recientemente había configurado Fiddler para que actuara como un proxy para todos los servicios según el artículo capturando tráfico desde .net-services-with-fiddler

Una vez que ejecuté Fiddler, pude conectarme correctamente.


3

Mi solución fue un poco diferente y más rápida :)

  1. Vaya a Credenciales de Windows (Inicio-> Credenciales de Windows) y elimine las credenciales de su repositorio (comienzan con git: xxx)
  2. Vaya a VSCode y en Terminal escriba:

    config credential.helper wincred

  3. Vaya a Visual Studio (sin VSCode) y haga un git pull. Aparecerá una ventana emergente pidiendo credenciales. Pon tus credenciales para el repositorio

  4. Vaya a VSCode y haga un git pull. Las credenciales se obtuvieron automáticamente de la tienda de wincred

Las credenciales se crean y almacenan automáticamente en wincredentials, por lo que la próxima vez no se le pueden solicitar las credenciales. (también se proporcionará un token de acceso personal de visualstudio.com si está utilizando un repositorio git alojado en DevOps).


¡Inicio-> Credenciales de Windows funciona como un encanto! ¡Gracias!
Highriser

1

Probé muchas opciones, pero la que me funcionó fue:

  1. Descargue Git Password Manager desde su sección de lanzamientos

  2. Intente hacer algo simple, lo git fetchque traerá automáticamente la ventana (alternativa a la predeterminada de Windows, por ejemplo) y pida ingresar el nombre de usuario y la contraseña, pero de una manera más elegante que la estándar.

Después de ingresar correctamente las credenciales, funcionó, aunque antes recibía un error.

PD: Si obtiene errores del tipo "Credenciales incorrectas", compruebe siempre si el nombre de usuario y la contraseña del repositorio son correctos. Si duda, simplemente restablezca la contraseña e intente utilizar la misma en la ventana del administrador de contraseñas de Git.


1

Tuve este problema y las instrucciones de un técnico de Microsoft lo solucionaron:

  • Cierre todas las instancias de Visual Studio.
  • Abra el Administrador de tareas y verifique si se está ejecutando algún servicio TFS. Seleccione cada uno de ellos y haga clic en Finalizar árbol de proceso.
  • Busque la carpeta a continuación y elimine todo el contenido y las carpetas en% LocalAppData% \ Microsoft \ Team Foundation {versión} \ Cache
  • Vaya a Panel de control -> Cuentas de usuario -> Administre su credencial -> Credencial de Windows, seleccione la URL de VSTS para eliminarla
  • Luego vaya a "C: \ Users \ USER NAME \ AppData \ Local \ GitCredentialManager \ tenant.cache" y elimínelo
  • También vaya a "C: \ Users \ USER NAME \ AppData \ Local.IdentityService" y elimínelo

1

Para usuarios de Linux que no pueden usar Microsoft Credential Manager. Esta es la única solución que encontré además de usar ssh. Debe generar las credenciales en la vista del repositorio (vea las imágenes a continuación) obtener credenciales de git

Y el resultado es: obtener el resultado de las credenciales de Git

¡Copia la contraseña !. Azure devops no lo almacena y no podrá volver a verlo.

NB: A partir de 2020, las credenciales alternativas se han deshabilitado, consulte el blog de Microsoft


0

Todo lo que necesitaba eran las credenciales correctas. Durante la implementación en una aplicación web, tuve que ir al Centro de implementación, Credenciales de implementación. Y luego use las Credenciales de la aplicación o cree Credenciales de usuario. Después de esto, elimine las credenciales almacenadas en caché en la máquina local (Windows: Panel de control \ Cuentas de usuario \ Administrador de credenciales). ejecute "git push webapp master: master" nuevamente, ingrese cualquiera de las Credenciales de implementación. Esto funcionó para mí.


0

En el caso de que esté en otra cosa que Windows y su jefe lo obligue a usar DevOps azure, y no quiera usar SSH, y quiera usarlo de la manera tradicional, haga lo siguiente.

Tienes que habilitar 'Credenciales alternativas' (sé que es molesto) o necesitas crear un token de acceso. Crear un token de acceso en este caso es más como una contraseña aleatoria temporal. Si usa las herramientas de Windows, está hecho para usted.

De cualquier forma, vaya al Securitymenú contextual del perfil en la esquina superior derecha.

Configuraciones de seguridad

Entonces, si su jefe / gerente / amigo que tiene los derechos de administrador lo está favoreciendo, las 'Credenciales alternativas' están habilitadas. De lo contrario, acepte su destino y genere un 'token de acceso personal'.

Configuraciones de seguridad


0

¡De 2 a 5 minutos para configurar!

  • Cree sus claves SSH (~ / .ssh /)

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

  • Agregar la clave pública a Azure DevOps Services / TFS
  • Clonar el repositorio de Git con SSH

Fuente


0

Después de luchar con la autenticación de Git y DevOps azules servidor y probar otras respuestas este consejo aquí trabajó para mí.

¿Utilizas Visual Studio? Team Explorer maneja la autenticación con Azure Repos por usted.

Una vez que me conecté al repositorio usando Team Explorer, pude usar la línea de comando para ejecutar comandos de git.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.