在 Windows 10/64 上使用 MobaXterm 的 Mosh 客户端连接远程主机时,出现以下使用错误
/bin/moshsession usage:
/bin/moshsession <server_name> <user_name> [<ssh_port_number> <locale> <Prediction_type> <mosh_server_command> <Mosh_ports_range> <Ssh_private_key>]
当尝试使用我的标准 OpenSSh 客户端通过以下命令行从 Bash 或任何其他 shell 连接到任何 UNIX 主机(Slackware、Debian 10、OpenBSD)时,我没有遇到任何问题,一切运行良好:
mosh --ssh=\"ssh -p 50515\" -p 60050 [email protected]
即使尝试从我的 Windows 工作站上的 VirtualBox 中的 UNIX VM 连接到远程主机,也可以使用 Bash 中的上述方法正常工作。
我已经在 MobaXterm Mosh 会话管理器中配置了高级设置,以反映我想要连接到 mosh 服务器上的 UDP 端口以及 (TCP) SSH 端口 - 在本例中为 50515。是否指定 UDP 端口来连接到 mosh 服务器或将其留空并接受默认值无关紧要。
唯一看起来有区别的事情是如果我填写用户名字段。如果我将其留空,我会得到上面的错误(如屏幕截图所示),如果我填写用户名字段,则什么都没有,它表现得就像在连接时等待服务器的响应(就像您在 SSH 会话连接协商期间收到的响应一样)。它不会超时或发生任何事情。
我的防火墙端口UDP 60000-61000是开放的,等等,但我不明白为什么我无法通过MobaXterm连接。使用MobaXterm使用SSH本身连接是没有问题的。
我做错了什么?或者我可以尝试如何纠正此问题?
答案1
我知道这更像是一种评论而不是答案,但这种解决方法几乎和我们试图实现的一样好。
- 在 Windows 上安装 Docker 并运行 centos/ubuntu 容器。
- 在该容器上安装 mosh(通过 Dockerfile 安装,或将带有 mosh 的容器提交到新镜像中并从此启动该镜像)。
- 在远程服务器上安装 mosh 并从上述容器登录。
PS:将此作为答案发布以提高知名度。