Mosh通过两级ssh(FreeBSD,jails)

时间:2013-07-18 19:53:34

标签: ssh freebsd jail

我喜欢mosh,但我通过两级ssh连接时遇到问题。请考虑以下情况:

  • 运行FreeBSD的主机已关闭所有外部端口
  • 从外面打开ssh端口2222的第一个监狱是公共IP让我们说门.example.com
  • 第二个监狱,私人IP地址名为DEV.example.com,可以通过端口2222上的door.example.com进行ssh-ed
  • 重定向设置为将udp端口60000从door.example.com转发到DEV.example.com

ttys和jail通常存在一些问题,但我可以通过这种方式连接:

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

但是我总是把密码认证挂在第二个监狱,没有密码提示。

有趣的是,从android mosh-flavored irssi connect bot开始,当我将mosh端口设置为60000并且作为mosh服务器时,我填写ssh -t -t -p2222 DEV.example.com mosh-server

我知道有办法设置ssh代理但我不想在门监狱上安装像netcat这样的东西。这应该以某种方式工作,特别是因为它已经可以从我的手机。

1 个答案:

答案 0 :(得分:0)

是否有理由mosh-server需要在终点(dev)而不是在入口(门)?

我用的是:

mosh --port 60000 \
     --ssh "ssh -t -t -p2222" \
     -- door.example.com ssh -t -t -p2222 dev.example.com

我在家安装。

FWIW,我对irssi使用类似的东西:

mosh --ssh="ssh -p2222" \
     -- user@dmz.example.com ssh -q -t user@irssi.example.com \
                 screen -c /home/user/.screen.irc -UxaA irc

我的服务器都是FreeBSD,客户端是MacBook Air或运行Ubuntu的笔记本电脑。我已经使用了带有基于主机的防火墙的dmz主机,以克服我当前路由器上可用的有限转发。