Mosh 基础使用指南
Mosh(Mobile Shell)是一个比传统 SSH 更强大的远程终端工具,特别适合移动和不稳定网络环境下的使用。
一、Mosh 简介
Mosh 的主要优势:
- 在网络切换或中断时保持连接
- 输入即时响应(无延迟显示)
- 预测性本地回显
- 更安全的连接方式
二、安装 Mosh
1. Linux 系统安装
# Ubuntu/Debian
sudo apt-get install mosh
# CentOS/RHEL
sudo yum install mosh
# Fedora
sudo dnf install mosh
2. macOS 安装
brew install mosh
3. Windows 使用
Windows 用户需要:
- 安装 WSL 或 Cygwin
- 在其中安装 mosh
- 使用支持 mosh 的终端如 Windows Terminal
三、基本使用方法
1. 简单连接
mosh username@remote_host
2. 指定端口
mosh --ssh="ssh -p 2222" username@remote_host
3. 使用特定 SSH 密钥
mosh --ssh="ssh -i ~/.ssh/id_rsa" username@remote_host
四、常用参数
参数 | 说明 |
---|---|
-p PORT |
指定 UDP 端口范围(如 60000:61000) |
--predict=never |
禁用预测性回显 |
--predict=always |
总是使用预测性回显 |
--predict=adaptive |
自适应预测(默认) |
--ssh="COMMAND" |
指定 SSH 连接命令 |
-a |
强制使用本地 IP 地址 |
-n |
不初始化 SSH 会话(用于调试) |
五、高级用法
1. 通过跳板机连接
mosh --ssh="ssh -J jump_user@jump_host" user@target_host
2. 保持连接的后台会话
# 使用 tmux 或 screen 配合 mosh
mosh user@host -- tmux new -A -s session_name
3. 指定服务器上的 mosh-server 路径
mosh --server="/usr/local/bin/mosh-server" user@host
六、Mosh 与 SSH 的区别
-
协议差异:
- SSH 使用 TCP
- Mosh 使用 UDP(默认端口 60000-61000)
-
连接恢复:
- SSH 断连后需要重新连接
- Mosh 在网络恢复后自动重连
-
输入响应:
- SSH 有输入延迟
- Mosh 提供即时本地回显
七、防火墙配置
Mosh 需要 UDP 端口开放:
# 开放 UDP 60000-61000 端口
sudo ufw allow 60000:61000/udp
八、常见问题解决
1. 连接失败
# 确保服务器安装了 mosh
ssh user@host "which mosh-server"
# 检查 UDP 端口是否开放
telnet host 60000
2. 解决乱码问题
# 指定 UTF-8 编码
mosh --ssh="ssh -o SendEnv=LC_*" user@host
3. 提高连接速度
# 使用压缩
mosh --ssh="ssh -C" user@host
九、退出 Mosh 会话
退出方式与 SSH 相同:
- 输入
exit
或logout
- 或者按
Ctrl-D
十、Mosh 客户端选项
查看所有选项:
mosh --help
Mosh 是替代 SSH 的优秀工具,特别适合网络不稳定环境下的远程工作。虽然配置略复杂,但提供的稳定性和用户体验提升值得投入时间学习。
No Comments