Git sigue pidiéndome mi frase de contraseña de clave ssh
538
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.
cierre la sesión del servidor, vuelva a ingresar ssh, ejecute git pull, solicite nuevamente la contraseña
cyber8200
35
ssh-add -Kpersistirá después de que lo cierre y lo vuelva a abrir almacenándolo en el llavero del usuario.
Kirk
72
@Kirk ssh-add -Kda 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.
Sandeep C
13
Sin embargo, todavía me solicitan una frase de contraseña.
Esto me ha sucedido después de reiniciar desde la actualización de OS X El Capitan (10.11) a macOS Sierra (10.12). losssh-add solución funcionó temporalmente pero no persistiría durante otro reinicio.
La solución permanente era editar (o crear) ~/.ssh/configy habilitar la UseKeychainopción.
funcionó para mí gracias ... Lo había hecho ... ssh-add -K /Users/***/.ssh/git/id_rsapero aún no funcionaba después del reinicio del terminal ... gracias.
Si lo ha intentado ssh-addy aún se le solicita que ingrese su frase de contraseña, intente usar ssh-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:
Para referencia futura, esto también funciona con zsh. Solo agregue esto a.zshrc
Arda
2
Creo que esto supone que se llama a su archivo clave id_rsa. Si tiene un nombre personalizado, debe usar, por ejemplo. /usr/bin/ssh-add ~/.ssh/custom_filename
Juha Untinen
2
¿Puedes explicar qué pasa con este script?
LeeR
2
@Lee inicia el ssh-agent si aún no se está ejecutando, que es lo que asegura que no te pida la frase de contraseña ssh en cada inserción (más o menos).
Roland
Esto solo ejecuta ssh-agent y agrega la clave en cada inicio de sesión. Aún debe ingresar la contraseña cada vez que inicie sesión. Entonces, por ejemplo, si tiene scripts que hacen ssh y hacen comandos GIT, desafortunadamente esto no es útil en absoluto.
trainoasis
27
Lo que funcionó para mí en Windows fue (había clonado el código de un repositorio primero):
eval $(ssh-agent)
ssh-add
git pull
en ese momento me pidió por última vez mi frase de contraseña
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!
Sería bueno agregar información sobre cómo resolver el primer problema Jeff Welling.
Ranu
5
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:
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 -Kpersistirá después de que lo cierre y lo vuelva a abrir almacenándolo en el llavero del usuario.ssh-add -Kda 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.-KEs 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-addsolución funcionó temporalmente pero no persistiría durante otro reinicio.La solución permanente era editar (o crear)
~/.ssh/configy habilitar laUseKeychainopción.Relacionado: macOS sigue preguntando mi frase de contraseña ssh desde que actualicé a Sierra
fuente
ssh-add -K /Users/***/.ssh/git/id_rsapero aún no funcionaba después del reinicio del terminal ... gracias.Si lo ha intentado
ssh-addy 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:
~/.bashrcarchivofuente
zsh. Solo agregue esto a.zshrcid_rsa. Si tiene un nombre personalizado, debe usar, por ejemplo./usr/bin/ssh-add ~/.ssh/custom_filenameLo 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
~/.bashrcarchivoagregar 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