将 SSH 连接透明地转发到 NATed 服务器

cde*_*ker 0 ssh reverse-proxy

我已经尝试了很长时间,但还没有找到好的解决方案。我在 NAT 后面有几台服务器,它们都运行 SSH 守护程序。其中一台机器是我的主服务器,它将 SSH 端口转发给它。我想要的基本上是通过主服务器打开与其他 NATed 服务器的连接,类似于我可以通过打开与主服务器的连接然后通过 SSH 连接到目的地。由于有一些应用程序运行在 SSH 之上,我想让它自动化,以便在连接本身之上运行 rsync 或 git。

SSH 有反向代理吗?

Oli*_*ver 5

您可以使用ProxyCommandand netcatin执行此操作.ssh/config

# Your 'gateway' server.
Host gateway

# Any other server.
Host server1
  ProxyCommand ssh gateway /bin/netcat %h %p
Run Code Online (Sandbox Code Playgroud)

如果这样做ssh server1,您将打开从当前位置到“网关”服务器的 SSH 连接,这将打开到server1. 此 TCP 连接将用作您当前位置和server1.

编辑:这种技术通常称为“ssh jumphost”。

  • 带有有用图表的相关文档:http://sshmenu.sourceforge.net/articles/transparent-mulithop.html (2认同)