我有两台机器都运行 CentOS Linux,一台是面向公众的机器,具有真实 IP 地址 (foo)。另一台位于客户站点,位于严格限制的防火墙后面,没有真实 IP,也无法进行网络地址转换或打开端口 (bar)。
我可以从 bar ssh 到 foo,但显然不能反过来。
理想情况下,我希望能够从 foo ssh 到 bar,这样我就可以发送文件、远程工作等。非常感谢任何关于如何最好地实现这一点的帮助或建议,我已经在互联网上看到过各种教程,这些教程建议应该可以通过 ssh 设置 VPN 连接,但似乎无法弄清楚。
约纳
答案1
在 Centos 下,答案似乎如下:
在 bar 上(受限机器)运行以下命令:
ssh -N -R 1234:localhost:22 foo.theinternet.com
然后在 foo (打开的机器)上运行:
ssh -p 1234 localhost
我认为这一点还有改进的余地,但希望这足以让任何谷歌员工开始使用。
感谢 pkaeding 让我走上了正确的道路。
答案2
这应该可以为你做到这一点(来自酒吧):
ssh -R2222:localhost:22 foo
然后,在 foo 上:
ssh localhost -p 2222
第一个连接打开远程端口转发,这使得 foo 上的端口 2222 转发到 bar 上的端口 22。因此,如果您通过 ssh 连接到 foo 上的端口 2222,则实际上是连接到 bar。然后,您可以通过该 ssh 连接添加所需的任何转发,以转发任何其他端口。