使用UDP连接ssh
- mosh简介
- `两端`安装mosh
- Windows安装mosh
- 放行端口
- 使用mosh登录Linux
- debug
mosh简介
Mosh最大的特点是基于UDP方式传输
,支持在服务端创建一个临时的Key供客户端一次性连接,退出后失效;也支持通过SSH的配置进行认证,但数据传输本身还是自身的UDP
方式。
Mosh还有两个我觉得非常有用的功能
- 会话的中断不会导致当前正在前端执行的命令中断,相当于你所有的操作都是在
tmux
会话中一样在后台执行。 - 会话在中断过后,不会立刻退出,而是启用一个计时器,当网络恢复后会自动重新连接,同时会延续之前的会话,不会重新开启一个。
两端
安装mosh
文档参考:https://www.cnblogs.com/sunweiye/p/12003616.html
mosh项目简介:https://github.com/mobile-shell/mosh/wiki/Debugging-and-Theory
# rhel安装mosh
yum install mosh -y# macOS安装mosh
brew insatll mosh# 检查Mosh的版本
mosh --version
Windows安装mosh
需要依赖msys2
的pacman
包管理器安装
# msys2安装mosh
pacman -S mosh
放行端口
Mosh使用的UDP协议
连接的,使用的端口是从60000到61000,如果开启了防火墙服务器上就需要打开相应的UDP端口。一个Mosh连接就会打开一个UDP端口,比如建立两个连接就是60001、60002,以此类推。
假设Mosh使用60001 UDP端口
# 放行UDP/60001端口iptables -I INPUT -p udp --dport 60001 -j ACCEPT
使用mosh登录Linux
# 和ssh完全一样,速度非常快
mosh user@server_ip
debug
# debug模式
mosh --ssh="ssh -vvv" user@server_ip