![SSH“反向”代理命令](https://linux22.com/image/1410034/SSH%E2%80%9C%E5%8F%8D%E5%90%91%E2%80%9D%E4%BB%A3%E7%90%86%E5%91%BD%E4%BB%A4.png)
通常你有一个类似这样的设置:
Workstation -> Firewall -> Server
你的工作站无法联系服务器直接,但必须使用登录防火墙首先为了联系服务器。在此“简单”设置中,您可以在工作站上使用此设置:
Host server
ProxyCommand ssh firewall nc %h %p
现在我的问题是:
强加给我的设置更加困难:
Workstation -> Intermediate <- Server
- 即我的工作站可以登录中间的和服务器可以登录中间的。
- 中间的无法打开 TCP 连接服务器,但另一个方向也是可能的。
- 我无法在我的工作站和服务器. 数据包根本就不会在 VLAN 中路由。
- 我可以“物理”访问服务器,但我想坐在我的工作站。
现在,我如何从我的机器通过 SSH 连接到服务器?
答案1
使用 ssh 隧道相当容易;首先转到您的服务器机器并运行:
ssh -R 2222:localhost:22 intermediateuser@Intermediate
这将在中间机器上打开端口 2222,并将连接反向转发到服务器上的端口 22。
然后你可以
ssh user@Intermediate
从那里
ssh serveruser@localhost -p 2222
或者,您也可以使用以下命令将中级端口 2222 连接到您的工作站:
ssh -L 2222:localhost:2222 intermediateuser@Intermediate
然后:
ssh serveruser@localhost -p 2222