SSH“反向”代理命令

SSH“反向”代理命令

通常你有一个类似这样的设置:

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

相关内容