Ssh remoto de dos pasos sin contraseña

Ssh remoto de dos pasos sin contraseña

Estoy buscando realizar ssh desde mi host local a un servidor remoto y desde allí a una computadora remota. Actualmente lo tengo configurado para que la computadora remota y el servidor remoto tengan configurado ssh sin contraseña entre ellos, pero si hago ssh desde mi servidor local al servidor y luego intento hacerlo a la computadora desde allí, obtengo:

Enter passphrase for key '/home/user/.ssh/id_dsa': 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).

Si intento realizar ssh desde una terminal abierta en el servidor remoto a la computadora remota, funciona bien. ¿Tiene algo que ver con que mi pantalla no sea :0.0, o algo completamente distinto? Lo intenté xhost +local:pero me perdí.

Gracias

Respuesta1

Si ambos sistemas tienen la clave pública de su sistema local, utilice -A.

Dessh(1)

-A      Enables forwarding of the authentication agent connection.  This
        can also be specified on a per-host basis in a configuration file.

También tenga en cuenta esta advertencia:

        Agent forwarding should be enabled with caution.  Users with the
        ability to bypass file permissions on the remote host (for the
        agent's UNIX-domain socket) can access the local agent through the
        forwarded connection.  An attacker cannot obtain key material from
        the agent, however they can perform operations on the keys that
        enable them to authenticate using the identities loaded into the
        agent.

El resultado es que cuando se autentica contra el segundo host, la autenticación se reenvía hasta el host donde reside físicamente.

Ejemplo:

me@host0:~ $ ssh -A host1
Last login: Thu Jun 14 11:31:53 2012 from 2001:db8::b0
me@host1:~ $ ssh -A host2
Last login: Thu Jun 14 11:41:05 2012 from 2001:db8::b1
me@host3:~ $ ssh -A host3
Last login: Tue Jun 12 10:46:50 2012 from 2001:db8::b2
me@host3:~ $ 

Respuesta2

Su agente no puede pasar la autenticación a la computadora remota. Puede reenviar una conexión para conectarse directamente a la máquina remota si lo desea.

Vereste artículo sobre SSH multi-hopy salte a la sección sobreProxyCommand

en ~/.ssh/config:

Host remotecomputername
  ProxyCommand ssh -q remoteservername nc -q0 remotecomputername 22

información relacionada