linux - generate - Git me sigue pidiendo la contraseña de mi clave ssh
git ssh windows (11)
Estoy usando Linux y creé las claves como se indica en el tutorial de github, las registré con github y traté de usar ssh-agent de manera explícita. Sin embargo, git sigue preguntándome mi contraseña cada vez que intento hacer un pull o un push.
¿Qué podría ser la causa?
Esto me ha estado sucediendo después de reiniciar desde la actualización de OS X El Capitan (10.11) a macOS Sierra (10.12). La solución ssh-add
funcionó temporalmente pero no persistiría en otro reinicio.
La solución permanente fue editar (o crear) ~/.ssh/config
y habilitar la opción UseKeychain
.
Host *
UseKeychain yes
Relacionado: macOS sigue preguntando mi frase de contraseña ssh desde que actualicé a Sierra
Intenta agregar esto a tu ~ / .ssh / config :
Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa
... asumiendo que su clave privada se llama id_rsa
Intentaría lo siguiente:
- Iniciar GitBash
- Edite su archivo
~/.bashrc
- Añade las siguientes líneas al archivo
SSH_ENV=$HOME/.ssh/environment
# start the ssh-agent
function start_agent {
echo "Initializing new SSH agent..."
# spawn ssh-agent
/usr/bin/ssh-agent | sed ''s/^echo/#echo/'' > ${SSH_ENV}
echo succeeded
chmod 600 ${SSH_ENV}
. ${SSH_ENV} > /dev/null
/usr/bin/ssh-add
}
if [ -f "${SSH_ENV}" ]; then
. ${SSH_ENV} > /dev/null
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else
start_agent;
fi
- Guarde y cierre el archivo
- Cerrar GitBash
- Reabrir GitBash
- Ingrese su contraseña
Intento diferentes soluciones pero nada ayuda. Pero estos pasos (el entorno de Mi GitBash SSH siempre me pide mi frase de contraseña, ¿qué puedo hacer? ) Desde Bitbucket.com las costuras funcionan bien:
La idea es:
creas el archivo
~/.bashrc
agregar el siguiente script:
SSH_ENV=$HOME/.ssh/environment # start the ssh-agent function start_agent { echo "Initializing new SSH agent..." # spawn ssh-agent /usr/bin/ssh-agent | sed ''s/^echo/#echo/'' > "${SSH_ENV}" echo succeeded chmod 600 "${SSH_ENV}" . "${SSH_ENV}" > /dev/null /usr/bin/ssh-add } if [ -f "${SSH_ENV}" ]; then . "${SSH_ENV}" > /dev/null ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { start_agent; } else start_agent; fi
volver a ejecutar Bash
Lo que funcionó para mí en Windows fue (cloné el código de un repositorio primero):
eval $(ssh-agent)
ssh-add
git pull
en ese momento me pidió una última vez para mi frase de contraseña
Créditos: la solución se tomó de https://unix.stackexchange.com/questions/12195/how-to-avoid-being-asked-passphrase-each-time-i-push-to-bitbucket
Para evitar que git solicite una contraseña una vez que haya generado y configurado las claves ssh, no use https, en su lugar use:
[email protected]:<repo_owner>/<reponame>.git
o
ssh://[email protected]/<repo_owner>/<reponame>.git
Parece que puede estar teniendo problemas con el agente SSH. Intentaría solucionarlo.
1) ¿Hizo ssh-add para agregar su clave a SSH?
2) ¿Está cerrando la ventana del terminal entre usos, porque si cierra la ventana tendrá que volver a ingresar la contraseña cuando la vuelva a abrir?
Si ha intentado ssh-add
y todavía se le solicita que ingrese su contraseña, intente usar ssh-add -K
. Esto agrega su contraseña a su llavero.
Actualización: si está utilizando macOS Sierra, es probable que deba realizar otro paso, ya que lo anterior podría no funcionar. Agregue lo siguiente a su ~/.ssh/config
:
Host *
UseKeychain yes
Si las soluciones anteriores no funcionan para mí, una cosa que hay que verificar es que también tiene la clave pública (por lo general, id_rsa.pub
). Es raro no hacerlo, pero esa fue la causa para mí.
Para crear su clave pública a partir de su clave privada:
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
Tuve un problema similar, pero las otras respuestas no solucionaron mi problema. Pensé en seguir adelante y publicar esto solo en caso de que alguien más tuviera una configuración desquiciada como yo.
Resulta que tenía varias teclas y Git estaba usando la incorrecta primero. Me pediría mi frase de contraseña, y yo la ingresaría, luego Git usaría una clave diferente que funcionaría (en la que no necesitaba ingresar la frase de contraseña).
¡Acabo de eliminar la clave que estaba usando para pedirme una frase de contraseña y ahora funciona!
Una vez que haya iniciado el agente SSH con:
eval $(ssh-agent)
Tienes que añadir tu clave privada:
ssh-add
Esto le pedirá su frase de contraseña solo una vez, y luego se le debe permitir ingresar, siempre que haya cargado la clave pública a Github.
Para guardar la clave de forma permanente:
ssh-add -K
Esto lo persistirá después de que lo cierre y lo vuelva a abrir almacenándolo en el llavero del usuario.