我喜欢mosh,但我在通过两级 ssh 连接时遇到问题。考虑这种情况:
- 运行 FreeBSD 的主机已关闭所有外部端口
- 第一个从外部打开 ssh 端口 2222 的监狱位于公共 IP 上,比如说 door.example.com
- 具有名为 DEV.example.com 的私有 IP 地址的第二个监狱,也可以从端口 2222 上的 door.example.com 进行 ssh-ed
- 重定向设置为将 udp 端口 60000 从 door.example.com 转发到 DEV.example.com
ttys 和 jails 通常存在一些问题,但我可以这样连接:
ssh -t -t -p2222 door.example.com -- ssh -p2222 DEV.example.com
之后被要求输入 door.example.com 和 DEV.example.com 的密码。
我已经尝试过这个 mosh 命令(也尝试了所有带和不带-t -t
参数的变体):
mosh --port 60000 \
--ssh "ssh -t -t -p2222" \
--server "ssh -t -t -p2222 DEV.example.com mosh-server" \
door.example.com
但我总是在没有密码提示的情况下对第二个监狱进行密码验证。
有趣的是,当我将 mosh 端口设置为 60000 并作为 mosh 服务器我填写时,从android mosh-flavored irssi connect bot这可以工作ssh -t -t -p2222 DEV.example.com mosh-server
我知道有一些方法可以设置 ssh 代理,但我不想在门监狱中使用 netcat 之类的东西。这应该以某种方式起作用,尤其是因为它已经可以在我的手机上使用。