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, I ssh -A host1.example.com y luego desde allí puedo ssh host2.example.com (o usar git) y usa mi clave ssh de la máquina original, que en este caso debería ser mi mac. Aunque esto siempre me ha funcionado en Debian / Ubuntu, no funciona en mi nuevo mac (Lion).

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

    
pregunta rfay 17.01.2012 - 00:21

3 respuestas

29

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

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.

    
respondido por el rfay 18.01.2012 - 01:29
1

El concepto detrás de 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. Eche un vistazo a la página de manual de ssh-agent para obtener más detalles.

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

Para más información vea:

respondido por el Florian Feldhaus 17.01.2012 - 23:52
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 mis scripts bedouin .

    
respondido por el sorin 18.01.2013 - 12:51

Lea otras preguntas en las etiquetas