我想通过 SSH 将应用程序从一台服务器转发到另一台服务器。
让我解释。
我有两台服务器,一台具有 root 权限,拥有完整的防火墙/iptables/ports/apps/等控制权,但它是私有的。
其次,我只有 SSH 帐户和几个可用端口,但它是公开的。
我在第一台服务器上安装了 XMPP 服务器,并使用 5222 和 5269 端口(我可以更改它们,这没问题)。如何将 2 个端口从公共服务器转发到私有服务器?
私人服务器应该只像网络活动的代理:
用户<----端口 5300 ----> 公共服务器<----任意端口 ----> 私人服务器
我尝试使用动态转发,但没有结果。本地转发,可以,但只能从私人机器(在 Web 服务器和 curl/wget 上测试),在外面不起作用。
答案1
您可以尝试多跳 SSH 连接。您的公共服务器需要分配伪终端才能建立第二个连接,并且启用 X 转发。命令如下:
ssh -t -X $public ssh -X $private
然后像平常一样执行 X 命令(如 XMPP 聊天客户端)。由于 X 转发需要相当多的带宽,因此您还需要尝试使用 -C 选项进行服务器端压缩。
找到了多跳答案这里。