Solía recordar la frase de contraseña, pero ahora me la pide cada vez.
He leído que necesito regenerar la clave pública con este comando, lo que hice:
ssh-keygen -y -f id_rsa > id_rsa.pub
Pero no solucionó nada.
¿Cómo puedo hacer que macOS recuerde mi frase de contraseña nuevamente?

sshmódulo habilitadozpretzorc. De todos modos, no es necesario en macOS, y si está habilitado, le pedirá su contraseña incluso después de haberla agregadoUseKeychain.ssh -v ...para ver si tiene alguna información útil de depuración ...Respuestas:
En la última versión de macOS (10.12.2), esto es fácil de solucionar. Solo edita tu
~/.ssh/configy habilita laUseKeychainopción:No hay necesidad de cambiar nada más. Ahora todo funciona como solía funcionar antes de las últimas actualizaciones. No es necesario agregar claves a
ssh-agent.Editar: es posible que aún deba ingresar su frase de contraseña una vez. Si no lo sabe, siga estas instrucciones para revelarlo.
fuente
Host *bloque debe (casi) siempre colocarse al final de su~/.ssh/configarchivo. Cuandosshbusca configuraciones, utiliza el primer valor que encuentra. Por lo tanto, al poner el bloque comodín al final, actúa como un conjunto de valores predeterminados; puede anular la configuración de hosts específicos al especificarlos anteriormente en el archivo.Host *encabezado. Simplemente agregue la línea únicaUseKeychain yesen la parte superior de su.ssh/configsi desea que esto se aplique a todos los hosts.Yo tuve el mismo problema. El llavero MacOS Sierra sigue pidiendo la frase de contraseña. Su id_rsa debe estar encriptada con una frase de contraseña por seguridad. Luego intente agregarlo al llavero
ssh-add -K ~/.ssh/id_rsaSi su clave está en otra carpeta que no sea
~/.sshentonces, sustitúyala por la carpeta correcta.Keychain ahora conoce tu clave ssh y, con suerte, todo funciona ahora (el mío sí)
fuente
ssh-addcon la-Aopción buscará en el llavero de MacOS cualquier contraseña para las identidades en cuestión. Creo que le avisará si las contraseñas no están en el llavero.Esto solucionó mi problema similar:
Esto almacena frases de contraseña en su llavero.
Actualización (gracias @EasyCo): esto funciona pero no persiste entre reinicios. @ solución de Jukka-Suomela en esta página no funciona en los reinicios. Puedes encontrar esa respuesta aquí:
https://superuser.com/a/1158050/234685
fuente
Solo tuve que ingresar la frase de contraseña correcta una vez y comenzó a funcionar. El problema era que no recordaba mi frase de contraseña SSH original, pero la recuperé siguiendo estos pasos desde Github:
fuente
Ninguna de las soluciones anteriores funcionó después de instalar Sierra sobre El Capitan en una nueva MacBook Pro. Sierra por diseño no guarda las claves SSH en el llavero.
Dos soluciones me funcionaron. Una es agregar el comando
ssh-add -A &> /dev/nulla ~ / .bash_profile. Cada vez que abra la terminal, se ejecutará este comando (la&> /dev/nullparte envía la salida del comando al archivo / dev / null).Una solución más complicada pero un poco más sofisticada es crear un plist con el comando que se ejecuta cada vez que el sistema operativo se inicia como se sugiere en Guardar claves SSH en el llavero macOS Sierra . Esto implica usar Xcode para crear el archivo.
fuente
Una solución es agregar lo siguiente a su archivo ~ / .ssh / config:
Tomado de: https://www.reddit.com/r/osx/comments/52zn5r/difficulties_with_sshagent_in_macos_sierra/ Ver también: https://apple.stackexchange.com/a/264974/3810
fuente
Bad configuration option: usekeychainerror que recibo con UseKeychain (sin embargo, está en mayúscula). Pero yo era capaz de conseguir que funcione simplemente mediante la eliminación de esa línea y dejando AddKeysToAgent y IdentityFile (que todavía tiene que introducir la contraseña la primera vez). Esto es con macOS Sierra 10.12.6.which sshpara asegurarse de que está utilizando/usr/bin/sshy no una versión de Fink o MacPorts, que estaría bajo algo como/usr/local/bin/ssho/opt/local/bin/sshEsta mañana, tuve el mismo problema que tú después de actualizar a Sierra. En mi caso, el
id_rsaarchivo estaba encriptado y después de descifrarlo funcionaba de maravilla.id_rsaarchivo está encriptado con el siguiente comando:cat ~/.ssh/id_rsa | head -2Proc-Type: 4,ENCRYPTED, está encriptada y podrías intentar descifrarlaid_rsaarchivo original ! Usa el comandocp ~/.ssh/id_rsa ~/.ssh/id_rsa.bakopenssl rsa -in ~/.ssh/id_rsa -out ~/.ssh/id_rsa.decryptedrm ~/.ssh/id_rsa) y reemplácela con la descifrada:mv ~/.ssh/id_rsa.decrypted ~/.ssh/id_rsaDespués de estos pasos, debería poder usar ssh nuevamente.
fuente
Intenté varias respuestas aquí, pero todavía tenía problemas con el paso de claves remotas (como cuando usaba capistrano). Para resolverlo, leí la nota técnica de Apple e hice de este mi archivo de configuración. ¡No más preguntas por mi contraseña!
https://developer.apple.com/library/content/technotes/tn2449/_index.html
fuente
También tuve este problema al intentar implementar algún código usando Capistrano . Muy frustrante. Aquí hay dos métodos que conozco para tratar este problema.
Método 1: agregue todas las claves conocidas al agente SSH.
Entonces, una solución que encontré es ejecutar
ssh-addcon la-Aopción, que agrega todas las identidades conocidas al agente SSH usando cualquier frase de contraseña almacenada en su llavero, como esta:Ahora esto funciona pero no persistirá entre reinicios. Entonces, si no quiere preocuparse nunca más por esto, simplemente abra el
~/.bash_profilearchivo de su usuario de esta manera:Y agregue esta línea al final:
Ahora, cuando abras una nueva ventana de Terminal, ¡todo debería estar bien!
Método 2: agregue solo las claves SSH que están en el llavero al agente.
Entonces, aunque la
ssh-add -Aopción debería funcionar para la mayoría de los casos básicos, recientemente me encontré con un problema en el que tenía 6-7 cajas Vagabundos (que usan claves / identidades SSH para acceder) configuradas en una máquina además de las más comunesid_rsa.pub.En pocas palabras, terminé bloqueado de un servidor remoto debido a demasiados intentos fallidos basados en claves / identidades SSH ya que el acceso al servidor se basó en una contraseña y las claves / identidades SSH son claves / identidades SSH. Entonces, el agente SSH probó todas mis claves SSH, falló y ni siquiera pude acceder a la solicitud de contraseña.
El problema es que
ssh-add -Asolo agregará arbitrariamente cada clave / identidad SSH que tenga al agente, incluso si no es necesario hacerlo; como en el caso de las cajas Vagrant.Mi solución después de muchas pruebas fue la siguiente.
Primero, si tiene más claves / identidades SSH agregadas a su agente de las que necesita, como se muestra con,
ssh-add -lentonces purgue todas del agente de la siguiente manera:Una vez hecho esto, inicie el agente SSH como un proceso en segundo plano así:
Ahora, se pone raro y no estoy muy seguro de por qué. En algunos casos, puede agregar específicamente la
~/.ssh/id_rsa.pubclave / identidad al agente de la siguiente manera:Escriba su frase de contraseña, presione Returny debería estar listo para comenzar.
Pero en otros casos, simplemente ejecutar esto es suficiente para agregar la clave / identidad:
Si todo funcionó, escriba
ssh-add -ly debería ver una sola clave / identidad SSH en la lista.¿Todo bien? Ahora abre tu
.bash_profile:Y agregue esta línea al final; comente o elimine la
-Aversión si la tiene:Eso permitirá que la clave / identidad SSH se vuelva a cargar en el agente SSH en cada inicio / reinicio.
ACTUALIZACIÓN: Apple ahora ha agregado una
UseKeychainopción a las opciones de configuración SSH abiertas y también considerassh-add -Auna solución.A partir de macOS Sierra 10.12.2, Apple (supongo) ha agregado una
UseKeychainopción de configuración para configuraciones SSH. La comprobación de la página de manual (víaman ssh_config) muestra la siguiente información:Lo que se reduce a que Apple vea que la solución se agrega
ssh-add -Aa la.bash_profilesuya como se explica en este boleto de Open Radar o se agregaUseKeychaincomo una de las opciones en cada usuario~/.ssh/config.fuente
La respuesta de Jukka Suomela es correcta, pero si está utilizando
opensshinstalado desdehomebrew, entonces también debe desinstalarlo con:... para volver al sistema predeterminado openssh, porque el homebrew no admite la
UseKeychainentrada de configuración ssh.fuente
Intenté todas las soluciones sugeridas aquí, pero no tengo un llavero configurado en mi Mac.
Agregarme a la siguiente línea en el
.ssh/configarchivo superior tanto en la máquina local como en la remota funcionó para mí.fuente
Necesita
.plistagregar un archivo~/Library/LaunchAgents/para ejecutarsessh-add -Aen cada inicio de macOS.Hay un solo comando que hace esto (de SSH-keys-in-macOS-Sierra-keychain ) que es:
fuente