ssh -A dejó de funcionar en macOS Sierra y el llavero no está desbloqueado al iniciar sesión

Después de actualizar, ssh -Aya no funciona. Descomente ForwardAgent nola línea /etc/ssh/ssh_configy cambie noa yesparece que no funciona. Esto es extremadamente molesto. Además, mi Mac está protegida con contraseña.

Anteriormente, después de iniciar sesión, nunca necesitaba ingresar la contraseña para ssh una vez que seleccionaba algo como "desbloquear llavero para ssh al iniciar sesión", hace años. No recuerdo el mensaje exacto. Solo necesitaba hacerlo una vez por cada mac que he tenido. Sin embargo, ahora solicita una contraseña cuando necesito acceder a ssh id_rsa, como usar git. Eliminé el elemento de inicio de sesión en el llavero, y la próxima vez que reinicié, intente usar ssh, las solicitudes de contraseña aparecen nuevamente, pero no me preguntan si quiero que el llavero recuerde y desbloquee la clave.

¿Alguien puede ayudar o al menos explicar qué cambios se realizan para ssh en el nuevo sistema operativo?

Editar Para responder a mi propia pregunta, ssh-add -Kparece funcionar.

¡Por favor, no agregue la respuesta en su pregunta! ¡En su lugar, ingrese su respuesta en el cuadro a continuación y presione el botón "Publicar su respuesta"!

Respuestas (3)

Parece que las claves ssh no se cargan de forma predeterminada en ssh-agent.

Esto resolvió el problema para mí:

Edite su configuración ssh

vi ~/.ssh/config

Agrega lo siguiente

Host *
    IdentityFile ~/.ssh/id_rsa
    AddKeysToAgent yes
    ForwardAgent yes

Obtenga más información sobre la discusión de reddit: https://www.reddit.com/r/osx/comments/52zn5r/difficulties_with_sshagent_in_macos_sierra/

La respuesta anterior funciona para las claves RSA, pero una vez que tuve una clave DSA, la solución tuvo un paso adicional. Agregue la clave usando

ssh-add -K ~/.ssh/id_dsa

Luego, edite o cree el archivo ~/.ssh/config con el siguiente contenido:

IdentityFile ~/.ssh/id_dsa
PubkeyAcceptedKeyTypes=+ssh-dss

Después de guardar este archivo, debería funcionar.

Sierra ahora usa OpenSSH 7.0, que tiene claves DSA obsoletas.

Si aún necesita usar claves DSA, agregue lo siguiente en la parte superior de su ~/.ssh/config

Host *
    PubkeyAcceptedKeyTypes ssh-dss*