SSH Conecte-se aos hosts usando o túnel

0

Eu quero ssh conectar do host A ao host C diretamente com um comando ssh .

+---+       +---+       +---+
| A |   ->  | B |   ->  | C |
+---+       +---+       +---+

Host A já tem chaves configuradas para acessar o host B (quando eu executo ssh B do A funciona)

Host B já tem chaves configuradas para acessar o host C (quando eu executo ssh C do B ele funciona)

O host A nome de usuário é daniel O host B nome de usuário é ubuntu O host C nome de usuário é ubuntu

Os hosts B e C são referenciados por endereço IP, e não por nome.

É possível? Como?

    
por Daniel Cukier 27.06.2015 / 01:07

1 resposta

4

Você pode fazer isso diretamente a partir da linha de comando:

ssh -A -t ubuntu@hostB ssh -A hostC

Ou adicionando essas linhas ao seu arquivo "$HOME"/.ssh/config e invocando ssh hostC da maneira normal:

Host hostB
        User ubuntu

Host hostC
        User ubuntu
        ProxyCommand ssh -q hostB nc -q0 %h %p

Em seu cenário em que hostB e hostC são referenciados por endereço IP, basta colocar esses endereços IP no lugar. (Você pode precisar de ubuntu@hostB no campo ProxyCommand .)

Há mais detalhes disponíveis no artigo SSH Multi-hop transparente

    
por 27.06.2015 / 02:23

Tags