/usr/local/bin/mosh:未找到 mosh 服务器启动消息。

/usr/local/bin/mosh:未找到 mosh 服务器启动消息。

Mosh我确实在(1)Mac OS X 10.9.5 机器、(2)Debian 8 VM 和(3)上安装了Entware-ng运行嵌入式 Linux 的路由器上的软件包。从 Mac (1) 到 (2) Debian 的 Mosh 连接是好的. 从 (1) Mac 到 (3) Linux 嵌入式路由器的 Mosh 连接失败消息如下:

/usr/local/bin/mosh:未找到 mosh 服务器启动消息。

环境:

  • Mac 上的 Mosh 版本是 1.2.5。
  • 所有机器都配置为使用证书进行 ssh 登录。
  • Mac OS X shell 是 zsh。
  • /usr/local/bin位于 Mac OS X 的 $PATH 中
  • Mac 终端应用程序iTerm 2.1.4
  • Debian 8 在 10.x pvm_nat LAN 中运行:具有共享网络的并行虚拟机,Parallels 在同一台 Mac 上运行。
  • 连接 Debian 所用的命令$ mosh [email protected]
  • 路由器 rt-n56u 使用有线 LAN 在 IP 192.168.x 上运行
  • 从 Mac 连接到路由器的命令是:$ mosh [email protected]
  • Linux 路由器正在运行Padavan 固件 RT-N56U_3.4.3.9-099_base.trx

回归

  1. 我确实尝试过禁用 Mac 上的 Little Snitch 防火墙,但情况仍然没有任何改善:
    /usr/local/bin/mosh: Did not find mosh server startup message.
  2. 我也尝试使用以下命令启动调试会话:
    $ ssh -S none -o ProxyCommand='mosh --fake-proxy -- %h %p' -n -tt [email protected] -- 'mosh-server new'
    MOSH IP 192.168.x.x
    Connection to 192.168.x.x closed.
  3. SendEnv我在Mac上注释掉了:
    $ cat /etc/ssh_config | grep SendEnv
    # SendEnv LANG LC_*
  4. 我尝试禁用路由器上的防火墙,但没有任何作用:
    /usr/local/bin/mosh: Did not find mosh server startup message.

rt-n56u 日志显示以下内容:

May  3 00:42:15 dropbear[819]: Child connection from 192.168.x.y:50824
May  3 00:42:17 dropbear[819]: Pubkey auth succeeded for 'username' with key md5 2c:...:94 from 192.168.x.y:50824
May  3 00:42:18 dropbear[820]: ioctl(TIOCSCTTY): Input/output error
May  3 00:42:18 dropbear[820]: /dev/pts/0: No such file or directory
May  3 00:42:18 dropbear[820]: open /dev/tty failed - could not set controlling tty: No such device or address
May  3 00:42:18 dropbear[819]: Exit (username): Disconnect received

在 rt-n56u 上:

# ls -l /dev/pts/*
crw--w--w-    1 username   root      136,   0 May  3 00:45 /dev/pts/0
# ls -l /dev/tty
crw-rw----    1 username   root        5,   0 Jan  1  2015 /dev/tty

如何修复mosh从这台 Mac 到 rt-n56u 路由器的连接?

答案1

检查mosh-server二进制文件在嵌入式 Linux 中的安装位置,并将该路径传递给命令server中的选项mosh

假设mosh-server二进制文件安装/usr/bin/在嵌入式 Linux 的目录中,然后运行mosh如下:

$ mosh --server=/usr/bin/mosh-server [email protected]

答案2

我希望这会有所帮助,这个问题也发生在我身上并出现同样的消息,我不是专家但我用这个方法解决了:

类似于您的配置(3)和(1),我的服务器正在运行 Ubuntu Server 18.04,而我的客户端是运行 Mojave 的 iMac。

  1. 在服务器上运行:

    $ echo $LANG

    en_US.UTF-8

  2. 然后搜索 mosh-server 路径,它位于/usr/bin/mosh-server

  3. 在 Mac 上,将最后一行更改/etc/ssh/ssh_configSendEnv LANG en_US.UTF-8类似于之前的服务器输出。

  4. 我用于 mosh 的命令如下,指示 mosh-server 路径和 ssh 端口:

    $ mosh --server=/usr/bin/mosh-server [email protected] --ssh="ssh -p XXXX"

答案3

根据模拟调试 wiki 页面,你接下来应该做的是:

 ssh -S none -o ProxyCommand='mosh --fake-proxy -- %h %p' -n -tt [email protected] -- 'mosh-server new'

看看它说了什么。

答案4

这个问题是 7 年前提出的,我希望从那时起所有 9k 名访问者现在已经找到了避免每次都进入 —服务器的方法。

这是我的:

mbj@m2 ~ % echo PATH=/opt/homebrew/bin:\$PATH >> ~/.zshenv

相关内容