delete - git tags best practices
GitHub: nombre de usuario o contraseña no válidos (17)
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]
obtengo
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?
Si, como yo, acaba de actualizar su contraseña y ejecutó
git push
para encontrarse con este problema, entonces hay una solución súper fácil.
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:
git credential-osxkeychain erase
host=github.com
protocol=https
# [Now Press Return]
Si tiene éxito, no se imprimirá nada.
Para probar que funciona, intente clonar un repositorio de 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.
- Panel de control
- Administrador de Credenciales
- Busque opciones de credenciales web y credenciales de Windows
- en cualquiera de las dos encontrará credenciales de github, corríjalas con las credenciales correctas
- Abra una nueva instancia de git bash para poder ejecutar sus comandos de git.
Esto funcionó para mí, pude tirar y empujar a mi repositorio remoto.
Cuando use la URL
https://
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 ejemplo,
https://github.com/username/repository.git
, y Git le solicitaría que ingrese un nombre de usuario (su nombre de usuario de GitHub) y su contraseña.
Si usa
https://[email protected]/username/repository.git
, entonces ha preestablecido el nombre de usuario que Git usará para la autenticación:
something
.
Como usó
https://[email protected]
, Git intentará iniciar sesión con el nombre de usuario
git
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 el siguiente:
[email protected]:username/repository
.
Para actualizar su URL, use este comando:
git remote set-url origin [email protected]:username/repository
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
documentation
.
Primero, asegúrese de que actualmente no tenga ninguna clave ssh (id_rsa.pub, etc.) con
$ ls -al ~/.ssh
Desactivar 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 ...
Después de habilitar la autenticación de dos factores (2FA), puede ver algo como esto cuando intente usar
git clone
,
git fetch
,
git pull
o
git push
:
$ git push origin master
Username for ''https://github.com'': your_user_name
Password for ''https://[email protected]'':
remote: Invalid username or password.
fatal: Authentication failed for ''https://github.com/your_user_name/repo_name.git/''
¿Por qué está pasando esto?
De la documentación de ayuda de GitHub :
Después de habilitar 2FA, deberá ingresar un token de acceso personal en lugar de un código 2FA y su contraseña de GitHub.
...
Por ejemplo, cuando accede a un repositorio usando Git en la línea de comandos usando comandos como
git clone
,git fetch
,git pull
ogit push
con URL HTTPS, debe proporcionar su nombre de usuario de GitHub y su token de acceso personal cuando se le solicite un nombre de usuario y contraseña . La línea de comandos no especificará que debe ingresar su token de acceso personal cuando le solicite su contraseña.
Como arreglarlo
- Generar un token de acceso personal . (Guía detallada sobre la creación de un token de acceso personal para la línea de comando ).
- Copie el token de acceso personal.
- Vuelva a intentar el comando que estaba intentando y use el token de acceso personal en lugar de su contraseña.
Pregunta relacionada: https://.com/a/21374369/101662
En caso de que reciba este mensaje de error en esta situación:
- usando github para entreprise
- usando credential.helper = wincred en git config
- usando sus credenciales de Windows que cambió recientemente
Luego mire esta respuesta: https://.com/a/39608906/521257
Windows almacena las credenciales en un administrador de credenciales, bórrelo o actualícelo.
En lugar de
git pull
también intente
git pull origin master
Cambié la contraseña y el primer comando dio error:
$ git pull
remote: Invalid username or password.
fatal: Authentication failed for ...
Después de
git pull origin master
, solicitó una contraseña y pareció actualizarse
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.
Esta solución funcionó para mí:
- abrir el panel de control
- Ir al administrador de credenciales
- Haga clic en Credenciales de ventana
- En la sección Credencial genérica, habría git url, actualizar nombre de usuario y contraseña
- Reinicia Git Bash e intenta clonar
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
no a
https
.
Haga esto
git remote set-url origin [email protected]:username/repository
Pasos de solución:
- Panel de control
- Administrador de Credenciales
- Haga clic en Credenciales de ventana
- En la sección Credencial genérica, habría git url, actualizar nombre de usuario y contraseña
- Reinicia Git Bash e intenta clonar
Recibo esto mientras clono la aplicación de bitbucket:
Cloning into ''YourAppName''...
Password for ''https://youruser id'':
remote: Invalid username or password
Lo resolví Aquí debe crear una contraseña para su ID de usuario
Solo deshabilito la autenticación de dos factores e intento nuevamente. Esto funciona para mi.
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.
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é.
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
'').
Intente usar
ssh://[email protected]:eurydyce/MDANSE.git
o simplemente
[email protected]:eurydyce/MDANSE.git
git remote set-url origin [email protected]:eurydyce/MDANSE.git
El OP Pellegrini Eric agrega:
Eso es lo que hice en mi archivo
~/.gitconfig
que contiene actualmente las siguientes entradas[remote "origin"] [email protected]:eurydyce/MDANSE.git
Esto no debería estar en su configuración global (la que está en
~/
).
Puede verificar
git config -l
en su repositorio: esa url debe declararse en la configuración
local
:
<yourrepo>/.git/config
.
Así que asegúrate de estar en la ruta de repositorio cuando hagas el comando
git remote set-url
.