Creé claves como se indica en el tutorial de github, las registré con github e intenté usar ssh-agent explícitamente; sin embargo, git continúa pidiéndome mi frase de contraseña cada vez que intento hacer un pull o un push.
¿Qué podría ser la causa?
Respuestas:
Una vez que haya iniciado el agente SSH con:
Tienes que agregarle tu clave privada:
Esto le pedirá su frase de contraseña solo una vez, y luego se le permitirá presionar, siempre que haya cargado la clave pública en Github.
Para guardar la clave permanentemente en macOS:
Esto persistirá después de cerrarlo y volverlo a abrir almacenándolo en el llavero del usuario.
fuente
git pull
, solicite nuevamente la contraseñassh-add -K
persistirá después de que lo cierre y lo vuelva a abrir almacenándolo en el llavero del usuario.ssh-add -K
da lo siguiente:unknown option -- K usage: ssh-add [options] [file ...] Options: -l List fingerprints of all identities. -L List public key parameters of all identities. -k Load only keys and not certificates. -c Require confirmation to sign using identities -t life Set lifetime (in seconds) when adding identities. -d Delete identity. -D Delete all identities. -x Lock agent. -X Unlock agent. -s pkcs11 Add keys from PKCS#11 provider.
-K
Es específico de manzana. Ver help.github.com/articles/…Esto me ha sucedido después de reiniciar desde la actualización de OS X El Capitan (10.11) a macOS Sierra (10.12). los
ssh-add
solución funcionó temporalmente pero no persistiría durante otro reinicio.La solución permanente era editar (o crear)
~/.ssh/config
y habilitar laUseKeychain
opción.Relacionado: macOS sigue preguntando mi frase de contraseña ssh desde que actualicé a Sierra
fuente
ssh-add -K /Users/***/.ssh/git/id_rsa
pero aún no funcionaba después del reinicio del terminal ... gracias.Si lo ha intentado
ssh-add
y aún se le solicita que ingrese su frase de contraseña, intente usarssh-add -K
. Esto agrega tu frase de contraseña a tu llavero.Actualización: si está utilizando macOS Sierra, es probable que deba realizar otro paso, ya que lo anterior podría dejar de funcionar. Agregue lo siguiente a su
~/.ssh/config
:fuente
Intentaría lo siguiente:
~/.bashrc
archivofuente
zsh
. Solo agregue esto a.zshrc
id_rsa
. Si tiene un nombre personalizado, debe usar, por ejemplo./usr/bin/ssh-add ~/.ssh/custom_filename
Lo que funcionó para mí en Windows fue (había clonado el código de un repositorio primero):
en ese momento me pidió por última vez mi frase de contraseña
Créditos: la solución fue tomada de /unix/12195/how-to-avoid-being-asked-passphrase-each-time-i-push-to-bitbucket
fuente
Intente agregar esto a su ~ / .ssh / config :
... suponiendo que su clave privada se llame id_rsa
fuente
Tuve un problema similar, pero las otras respuestas no solucionaron mi problema. Pensé en seguir adelante y publicar esto en caso de que alguien más tenga una configuración complicada como yo.
Resulta que tenía varias claves y Git estaba usando la incorrecta primero. Me solicitaría mi frase de contraseña, y la ingresaría, luego Git usaría una clave diferente que funcionaría (que no necesitaba ingresar la frase de contraseña).
¡Acabo de eliminar la clave que estaba usando para solicitarme una frase de contraseña y ahora funciona!
fuente
Parece que puede estar teniendo problemas con el propio agente SSH. Intentaría solucionar eso.
1) ¿Hiciste ssh-add para agregar tu clave a SSH?
2) ¿Está cerrando la ventana del terminal entre usos, porque si cierra la ventana deberá ingresar la contraseña nuevamente cuando la vuelva a abrir?
fuente
Si las soluciones anteriores no me funcionan, una cosa que debe verificar es que también tiene la clave pública (normalmente
id_rsa.pub
). Es inusual no hacerlo, pero esa fue la causa para mí.Para crear su clave pública a partir de su clave privada:
fuente
Intento diferentes soluciones pero nada ayuda. Pero estos pasos ( mi entorno GitBash SSH siempre me pide mi frase de contraseña, ¿qué puedo hacer? ) De las costuras de Bitbucket.com funcionan bien:
La idea es:
creas un
~/.bashrc
archivoagregar script de seguimiento:
volver a ejecutar Bash
fuente
Otra posible solución que no se menciona anteriormente es verificar su control remoto con el siguiente comando:
Si el control remoto no comienza con git pero comienza con https, es posible que desee cambiarlo a git siguiendo el ejemplo a continuación.
fuente