ssh -A no habilita correctamente el reenvío de la conexión del agente de autenticación


17

me encanta ssh -A, que me permite usar mi clave ssh local al establecer una conexión desde un servidor remoto. Por ejemplo, yo ssh -A host1.example.com y luego desde allí puedo ssh host2.example.com (o use git) y usa mi clave ssh de la máquina original, que en este caso debería se mi mac Aunque esto siempre me ha funcionado en Debian / Ubuntu, no funciona en mi nuevo mac (Lion).

¿Que me estoy perdiendo aqui? ¿Cómo configuro ssh para que funcione correctamente con -A? ¿Necesito un ssh que no sea el estándar de MacOS?

Respuestas:


29

En realidad, la respuesta muy simple es que tienes que correr

ssh-add

y entonces todo funciona.

Básicamente, macOS ya tiene configurado ssh-agent para ti, pero después de cada reinicio debes agregarle tus claves. ssh-add le da a ssh-agent acceso a sus claves para el ciclo de arranque actual. Tendrá que ingresar la contraseña de su clave privada si ha creado una.


Eso solucionó mi último problema de reenvío de ssh después de la actualización a macOS (después de 5 años, sigue siendo una respuesta útil, gracias @rfay)
23tux

Esto funciona, pero una explicación de por qué sería útil / ayuda a las personas a recordar este comando.
Adam Parkin

1
@AdamParkin agregó otro párrafo explicando.
rfay

1

El concepto detrás ssh -A son agentes ssh. Se ejecutan en segundo plano y, mediante el uso de variables de entorno, el agente puede ubicarse y utilizarse automáticamente para la autenticación al iniciar sesión en otras máquinas mediante ssh. Echa un vistazo a la página de manual de ssh-agent para más detalles.

Con Mac OS X, el ssh-agent debe iniciarse a pedido.

Para más información, ver:


1

A partir de OS X 10.8 debes hacer esto una vez:

sudo touch /var/db/useLS

Y agrega esto como parte de tu ~/.bash_profile:

if [ -f ~/.ssh/id_rsa ]; then
    ssh-add -K ~/.ssh/id_rsa 2>/dev/null
fi

Nota: esta receta es parte de mi beduino guiones.


Hm, acabo de probar esto; el agente comienza entonces, pero aún tiene que ssh-add para que algo funcione. Así que ssh-add solo sigue siendo la respuesta, por lo que yo entiendo. Supongo que debería agregarlo a mi .bash_profile.
rfay

lol, ¿qué pasa si mi clave privada necesita una frase de contraseña?
Jeffrey04
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.