隧道SSH“客户端 – >防火墙 – >服务器1 – >服务器1.2”

我需要build立从客户端到服务器的隧道。 问题是他们之间有两个盒子:

CLIENT --- FIREWALL ---{ SERVER1 --- SERVER1.2 } CLIENT ============================= SERVER1.2 

我知道如何做,当我只有一个盒子之间:

 CLIENT --- FIREWALL ---{ SERVER1 } CLIENT ==================SERVER1 

从客户端框中:

 ssh -l **user_firewall** -L 8112:**server1_ip**:22 **firewall_ip** cat - 

接着 :

 ssh -C -c arcfour256 localhost -l **user_server1** -p 8112 

请有人能够提供一些洞察这个问题。 如果你需要更多的信息,我可以提供它。

我倾向于使用ProxyCommand – 只要你已经在中间盒上安装了netcat,你可以根据需要ProxyCommand尽可能多的图层。

我可以给你一个例子,但是ssh_config (5)手册页中的那个很好地完成了这项工作。

最后我得到了这个工作。 谢谢@womble!

我修改了/.ssh/config:

 Host server1 Hostname server1_ip User server1_user ForwardAgent yes Port 22 ProxyCommand ssh -oCiphers=arcfour128,arcfour256,arcfour,blowfish-cbc firewall_user@firewall_ip nc %h %p Host server12 Hostname server12_ip User server12_user ForwardAgent yes Port 22 ProxyCommand ssh -oCiphers=arcfour128,arcfour256,arcfour,blowfish-cbc server1 nc %h %p 

现在,当我从客户端键入ssh server12 ,我在server12有一个shell,跳过防火墙和server1。