我越来越喜欢mosh,当我的 wifi 链接不可靠时,我越来越多地使用它。我想弄清楚的是如何通过位于 DMZ(连接到互联网和防火墙网络)中的服务器建立隧道。
我当前使用 ssh 的解决方案是编辑.ssh/config以包含以下行:
Host server-behind-firewall
ProxyCommand ssh server-in-dmz nc %h %p
Run Code Online (Sandbox Code Playgroud)
我还想出了如何使用 ssh 来做一条腿而另一条腿:
ssh -t server-in-dmz mosh server-behind-firewall
Run Code Online (Sandbox Code Playgroud)
在 server-in-dmz 和 server-behind-firewall 之间,我使用 screen 设置了一个 mosh 会话。
但是我真的很想从头到尾使用 mosh。我想我必须安装 server-in-dmz 才能让 mosh-server 监听。但是 mosh-server 的手册页说“如果在 60 秒内没有客户端联系它,它将退出。”
简而言之,问题是:如何建立多主机的mosh隧道?
您可能想尝试Stone,它是一个 TCP 和 UDP 数据包中继器。这实质上意味着您可能具有以下配置:
你 <---> 石头在 server-in-dmz <---> server-behind-firewall
换句话说,让 server-in-dmz 在端口 X 上侦听要转发到 server-behind-firewall 的 SSH 数据包,以及另一个端口,即端口 Y,用于将 UDP 数据包转发到 server-behind-firewall 上的端口 60000。 mosh服务器。
您必须使用以下命令连接到 mosh:
mosh -p 60000 --ssh='ssh -p PORT_X' server-in-dmz
Run Code Online (Sandbox Code Playgroud)