“反转”从目的地到目标的 SSH 连接

“反转”从目的地到目标的 SSH 连接

我有两台机器 A 和 B,它们位于不同的子网中,并且都位于单独的防火墙后面。机器 A 可以看到 B,但 B 无法看到 A。我在两台机器上都有一个用户帐户(非 root),我可以从 A SSH B,并且我希望能够从 B SSH A,但这不能直接完成。

我已经使用隧道通过 SSH 跳过中间服务器,但我在这里要求的是不同的,我不知道它会被称为什么。有没有办法打开从 A 到 B 的连接,然后可以从机器 B“反向”使用该连接在 A 上运行命令?

答案1

简短的回答是可以,具体方法是:

machine-A$ ssh -R 127.0.0.1:2222:127.0.0.1:22 [ip__or_name_of_B]

然后Bssh可以A

machine-B$ ssh -p2222 127.0.0.1  

这说明了以下内容:

  • 在远程端 ( )上A创建隧道-R,以便端口上前往 localhost ( 127.0.0.1)的任何流量2222都应通过隧道返回并发送到 localhost(127.0.0.1现在位于本地端)端口22

  • B命令只是说,ssh到本地主机端口2222,这是隧道的入口。

相关内容