什么是Mosh
Mosh表示移动Shell(Mobile Shell),是一个用于从客户端跨互联网连接远程服务器的命令行工具。它能用于SSH连接,但是比Secure Shell功能更多。它是一个类似于SSH而带有更多功能的应用。程序最初由Keith Winstein 编写,用于类Unix的操作系统中,发布于GNU GPL V3协议下。

Mosh最大的特点是基于UDP方式传输,支持在服务端创建一个临时的Key供客户端一次性连接,退出后失效;也支持通过SSH的配置进行认证,但数据传输本身还是自身的UDP方式。
另外,Mosh还有两个我觉得非常有用的功能
- 会话的中断不会导致当前正在前端执行的命令中断,相当于你所有的操作都是在screen命令中一样在后台执行。
- 会话在中断过后,不会立刻退出,而是启用一个计时器,当网络恢复后会自动重新连接,同时会延续之前的会话,不会重新开启一个。
Mosh的功能
- 它是一个支持漫游的远程终端程序
- 在所有主流的类 Unix 版本中可用,如 Linux、FreeBSD、Solaris、Mac OS X和Android
- 支持不稳定连接
- 支持智能的本地回显
- 支持用户输入的行编辑
- 响应式设计及在 wifi、3G、长距离连接下的鲁棒性
- 在IP改变后保持连接。它使用UDP代替TCP(在SSH中使用),当连接被重置或者获得新的IP后TCP会超时,但是UDP仍然保持连接
- 在很长的时候之后恢复会话时仍然保持连接
- 没有网络延迟。立即显示用户输入和删除而没有延迟
- 像SSH那样支持一些旧的方式登录
- 包丢失处理机制
Mosh安装配置
Mosh需要同时在服务器端与客户端上安装,这是一件非常简单的事情。
Linux中安装Mosh
- 在Debian、Ubuntu 和Mint 类似的系统中,你可以很容易地用apt-get包管理器安装。