我需要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。