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

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

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

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

有谁能提供一些关于这个问题的见解吗?如果您需要更多信息,我很乐意提供。

答案1

我倾向于使用ProxyCommand——只要你在中间盒上安装了 netcat,你基本上就可以根据需要浏览尽可能多的层。

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

答案2

终于我成功了。谢谢@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从客户端输入时,我有一个shell server12,跳过防火墙和服务器1。

相关内容