使用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