SSH para o host remoto através de outro host

1

Estou tentando ssh para o host B remoto, mas o controle de acesso à rede governa. Só consigo fazer isso via host A. Como eu faria isso?

Tentou criar um túnel para o Host A ssh -f -N -D 2222 user @ hostA

Em seguida, ao criar novas conexões ssh a partir da porta do túnel especificando local para encapsulá-las, mas não conseguir isso funcionando .. ssh -L 2222: hostB: 22 hostA

Hosts envolvidos: Local Host A (intranet local) Anfitrião B (internet)

Fluxo de tráfego: Local > HostA > HostB

Todos os ponteiros seriam super fáceis. Agradecemos antecipadamente!

    
por 0rangutang 11.04.2017 / 01:33

1 resposta

3

Seu pensamento de usar uma porta dinâmica para frente nunca funcionará. Pense nela logicamente - você precisa abrir uma porta local que seja encaminhada de sua máquina local, por hostA, para a porta 22 em hostB. Existem algumas maneiras de conseguir isso. Primeiro, a maneira deselegante e manual:

Primeiro, configure o túnel:

$ ssh -L2222:hostB:22 user@hostA

Em seguida, conecte-se ao hostB:

$ ssh -p 2222 user@localhost

A opção preferida é usar a diretiva ProxyCommand do cliente ssh, que pode automatizar isso para você. Adicione algo assim ao seu ~/.ssh/config :

host hostB
  Hostname hostB
  ProxyCommand ssh user@hostA nc %h %p 2> /dev/null

Depois de fazer isso, você pode fazer isso:

$ ssh hostB

... e o cliente ssh cuidará de tudo para você.

    
por 11.04.2017 / 02:18