Tengo un proyecto alojado en GitHub. Fallo al intentar empujar mis modificaciones en el maestro. Siempre recibo el siguiente mensaje de error
Password for 'https://[email protected]':
remote: Invalid username or password.
fatal: Authentication failed for 'https://[email protected]/eurydyce/MDANSE.git/'
Sin embargo, configurar mi clave ssh en github parece estar bien. De hecho, cuando hago un ssh -T [email protected]
me sale
Hi eurydyce! You've successfully authenticated, but GitHub does not provide shell access.
Lo que parece indicar que todo está bien desde ese lado (eurydyce es mi nombre de usuario github). Seguí estrictamente las instrucciones dadas en github y las recomendaciones de muchos debates de stack, pero de ninguna manera. ¿Tendrías alguna idea de lo que he hecho mal?
Respuestas:
https: //[email protected]/eurydyce/MDANSE.git no es una url ssh, es una https (que requeriría el nombre de su cuenta de GitHub, en lugar de '
git
').Intenta usar
ssh://[email protected]:eurydyce/MDANSE.git
o simplemente[email protected]:eurydyce/MDANSE.git
El OP Pellegrini Eric agrega:
Esto no debería estar en su configuración global (la que está en
~/
).Se puede comprobar
git config -l
en su repo: url que debe declararse en el local de configuración:<yourrepo>/.git/config
.Así que asegúrese de estar en la ruta del repositorio al hacer el
git remote set-url
comando.Como se señaló en la respuesta de Oliver , una URL HTTPS no usaría nombre de usuario / contraseña si la autenticación de dos factores (2FA) está activada.
En ese caso, la contraseña debe ser un PAT (token de acceso personal) como se ve en " Uso de un token en la línea de comando ".
Esto solo se aplica a las URL HTTPS, SSH no se ve afectado por esta limitación.
fuente
~/.ssh/config
o%USERPROFILE%\.ssh\config
, con unagithub.com
entrada en él.Después de habilitar la autenticación de dos factores (2FA), es posible que vea algo como esto cuando se trata de su uso
git clone
,git fetch
,git pull
ogit push
:¿Por qué está pasando esto?
De la documentación de ayuda de GitHub :
Como arreglarlo
Pregunta relacionada: https://stackoverflow.com/a/21374369/101662
fuente
Pasos de solución:
fuente
Solo para usuarios de Mac. Debe eliminar sus entradas de acceso de llavero OSX para GitHub. Puede hacerlo a través de la terminal ejecutando los siguientes comandos.
Eliminar sus credenciales a través de la línea de comando
A través de la línea de comando, puede usar el asistente de credenciales directamente para borrar la entrada del llavero.
Para hacer esto, escriba el siguiente comando:
Si tiene éxito, no se imprimirá nada. Para probar que funciona, intente clonar un repositorio desde GitHub o ejecute su acción anterior nuevamente como en mi caso
git push
. Si se le solicita una contraseña, se eliminó la entrada del llavero.fuente
host=bitbucket.org
lugar de GitHub lo arregló para mí.Al usar la
https://
URL para conectarse a su repositorio remoto, Git no usará SSH como autenticación, sino que intentará una autenticación básica a través de HTTPS. Por lo general, solo usaría la URL sin un nombre de usuario, por ejemplohttps://github.com/username/repository.git
, y Git le pedirá que ingrese tanto un nombre de usuario (su nombre de usuario de GitHub) como su contraseña.Si se utiliza
https://[email protected]/username/repository.git
, a continuación, que se han memorizado el nombre de usuario de Git utilizará para la autenticación:something
. Como lo usóhttps://[email protected]
, Git intentará iniciar sesión con elgit
nombre de usuario para el que su contraseña, por supuesto, no funciona. Por lo tanto, deberá usar su nombre de usuario.La alternativa es usar SSH para la autenticación. De esa manera evitará tener que escribir su contraseña todo el tiempo; y como ya parece funcionar, eso es lo que deberías estar usando.
Sin embargo, para hacerlo, debe cambiar su URL remota, por lo que Git sabe que necesita conectarse a través de SSH. El formato es entonces la siguiente:
[email protected]:username/repository
. Para actualizar su URL, use este comando:fuente
warning: remote.origin.url has multiple values
. Esto puede deberse al hecho de que ya tengo una etiqueta remota en mi archivo ~ / .gitconfig que contiene el valor[remote "origin"] [email protected]:eurydyce/MDANSE.git
.solo trata de empujarlo a tu rama nuevamente. Esto le pedirá su nombre de usuario y contraseña nuevamente, para que pueda ingresar la contraseña modificada. Para que su nueva contraseña se almacene nuevamente en el caché.
fuente
git push
solicitó la actualización adecuada, como indica esta respuesta.git push origin master
...En lugar de
git pull
intentarlo tambiéngit pull origin master
Cambié la contraseña y el primer comando dio error:
Luego
git pull origin master
, solicitó contraseña y pareció actualizarsefuente
No es necesario confiar en generar un token de acceso personal y luego intentar usar el token de acceso personal en lugar de su contraseña.
La solución rápida es configurar su URL remota para que apunte a
ssh
nohttps
.Hacer esto
git remote set-url origin [email protected]:username/repository
fuente
Recibo esto mientras clono la aplicación de bitbucket:
Lo resolví Aquí debe crear una contraseña para su ID de usuario
Haga clic en su perfil y configuración
Luego, cree la contraseña de la aplicación, elija su nombre, se generará la contraseña, pegue esa contraseña en el terminal
fuente
Deshabilitar la autenticación de 2 factores en github funcionó para mí.
Veo que hay una respuesta eliminada que dice esto, con el motivo de eliminación como "no responde la pregunta". Si funciona, entonces creo que responde la pregunta ...
fuente
Yo hice:
Luego solicitó el [Nombre de usuario] y [Contraseña] y parece estar funcionando bien ahora.
fuente
En caso de que reciba este mensaje de error en esta situación:
Luego mire esta respuesta: https://stackoverflow.com/a/39608906/521257
Windows almacena las credenciales en un administrador de credenciales, bórrelo o actualícelo.
fuente
Es posible que reciba este error porque ha actualizado su contraseña. Entonces, en la Terminal, primero asegúrese de borrar sus credenciales de GitHub del llavero y luego envíe los cambios a su repositorio, la terminal le pedirá su nombre de usuario y contraseña.
fuente
Tuve el mismo problema Y lo resolví cambiando la ruta de la rama remota de
https://github.com/YourName/RepoName
a[email protected]:YourName/RepoName.git
en la configuración del repositorio de la aplicación cliente.fuente
Constantemente me encuentro con este problema. Asegúrese de configurar git --config user.name "" y no su nombre real, lo cual he hecho varias veces.
fuente
Dado que probablemente desee mantener 2FA habilitado para su cuenta, puede configurar una clave ssh y de esa manera no necesitará escribir sus credenciales de Github cada vez que quiera llevar el trabajo a Github.
Puede encontrar todos los pasos de configuración de ssh en la documentación . Primero, asegúrese de que actualmente no tenga ninguna clave ssh (id_rsa.pub, etc.) con
$ ls -al ~/.ssh
fuente
Esto funcionó para mí, pude tirar y empujar a mi repositorio remoto.
fuente
Solo deshabilito la autenticación de dos factores e intento nuevamente. Esto funciona para mi.
fuente
Esta solución funcionó para mí:
fuente