锁屏,过一会儿再回来
合上盖子,换个网络,回来时 shell 仍在原处:同一个目录,同一个程序。
- 按键即时显示,服务器确认之前带下划线。

细节
经 SSH 启动
把机器设为 Mosh 模式,SwiftServer 先经 SSH 登录,再转入 UDP。
按机器设置
程序路径与 UDP 端口范围可逐台设置,诊断会指出卡在哪一步。
穿过堡垒机或代理
SSH 启动可经由跳板机或连接代理。
免费
机器与会话数量不限,随时在 Mosh 与 SSH 之间切换。
让 Mosh 会话运行起来
- 01
在服务器上安装 mosh
apt install mosh、dnf install mosh,或你的包管理器中对应的命令。SwiftServer 需要服务器上已有 mosh-server,它不负责安装。
- 02
放行 UDP 端口
在服务器防火墙上放行入站 UDP 60000 到 61000,或者把范围收窄,并在 SwiftServer 中设为同一个范围。
- 03
设置终端模式
在机器设置的「终端」部分,把「连接」设为 Mosh。
- 04
连接
照常启动终端。SwiftServer 先通过 SSH 登录,再把会话交给 Mosh。
- 05
离开即可
锁屏、换网络,再回来。会话接着刚才的位置继续。
常见问题
Mosh 是什么?
Mosh 是 mobile shell 的缩写,一种远程终端协议。它通过 SSH 启动,之后在 UDP 上运行,并带有自己的状态同步机制,所以 IP 地址变化、设备休眠,以及会让 SSH 断开的丢包,都不会终止会话。
用 Mosh 需要装东西吗?
服务器上需要:mosh-server,主流发行版的 mosh 包里都带。设备上不需要,SwiftServer 自己实现了客户端。
Mosh 用哪些端口?
默认是 UDP 的 60000 到 61000 范围,一个会话占用一个端口。范围可以按机器配置,最初的引导走你平常的 SSH 端口。
SwiftServer 里的 Mosh 免费吗?
免费。Mosh 属于免费版,机器数量和同时打开的会话数量都不设上限。
可以通过跳板机用 Mosh 吗?
可以,说的是 SSH 引导这一步,跳板机路由、SOCKS5 或 HTTP CONNECT 代理都行。UDP 会话本身是直连的,所以这台机器还需要一个你的设备能直接访问的地址;地址不同的话,为它单独设置 UDP 主机。
Mosh 会话起不来怎么办?
Mosh 诊断会显示引导停在了哪一步。常见原因是 PATH 里没有 mosh-server、UDP 范围被防火墙挡住,或者 NAT 不保持映射。