ssh-add em um nó intermediário do ssh hop

2

Estou na máquina A, pulando na máquina B para finalmente alcançar a máquina C.

A --ssh--> B --ssh--> C

Quando eu ssh-add minha chave privada em A, tudo funciona bem e eu posso pular para B quantas vezes eu quiser sem fornecer senhas.

Quando eu ssh-add em B , recebo esta mensagem de erro:

Could not open a connection to your authentication agent.

O objetivo é ssh-add em B também e de lá para alcançar muitos C's diferentes ...

Eu sei como configurar o "pass-through" usando .ssh / config, mas não é isso que estou tentando fazer.

    
por Robottinosino 03.10.2012 / 11:34

2 respostas

3

Você pode usar a opção -A para encaminhar a conexão do agente para o host remoto (os comandos ssh em B irão falar com o agente em A, assim você não precisará adicionar ssh). Mas observe que o encaminhamento de Agentes pode ser administrativamente proibido em B.

Caso contrário, você terá que iniciar um agente em B:

eval "$(ssh-agent)"
ssh-add ...
    
por 03.10.2012 / 12:12
4

Você precisa ativar o encaminhamento de conexão do agente de autenticação (Opção "-A").

Exemplo:

hostA$ ssh -A hostB # agent forwarding enabled
hostB$ ssh-add  
hostB$ ssh hostC   # tries now the keys from hostA and the newly added
hostC$

Se você não quiser encaminhar uma chave por motivos de segurança, você poderia iniciar uma nova instância do agente ssh usando

hostB$ eval "$(ssh-agent)"
    
por 03.10.2012 / 12:14

Tags