ssh remoto de dois passos sem senha

4

Eu estou olhando para ssh do meu localhost para um servidor remoto e de lá para um computador remoto. Eu tenho atualmente configurado para que o computador remoto e o servidor remoto tenham ssh-ing sem senha configurado entre eles, mas se eu ssh do meu localhost para o servidor e, em seguida, tentar ssh para o computador a partir daí, recebo:

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

Se eu tentar ssh de um terminal aberto no servidor remoto para o computador remoto, ele funciona muito bem. Isso tem algo a ver com a minha exibição não sendo :0.0 ou algo totalmente diferente? Eu tentei xhost +local: mas foi perdido depois disso.

Obrigado

    
por vityav 14.06.2012 / 05:00

2 respostas

3

Se os dois sistemas tiverem a chave pública do seu sistema local, use -A .

De ssh(1)

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

Esteja ciente também desse aviso:

        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.

O resultado é que quando você autentica contra o segundo host, a autenticação é encaminhada de volta para o host em que você reside fisicamente.

Exemplo:

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:~ $ 
    
por 14.06.2012 / 23:05
1

Seu agente não pode passar a autenticação para o computador remoto. Você pode encaminhar uma conexão por porta para conectar-se diretamente à máquina remota, se desejar.

Veja artigo sobre o multi-salto em SSH e pule para a seção sobre ProxyCommand

em ~/.ssh/config :

Host remotecomputername
  ProxyCommand ssh -q remoteservername nc -q0 remotecomputername 22
    
por 14.06.2012 / 05:43