Mosh的功能
它是一個支持漫游的遠(yuǎn)程終端程序。
在所有主流的類 Unix 版本中可用,如 Linux、FreeBSD、Solaris、Mac OS X 和 Android。
支持不穩(wěn)定連接
支持智能的本地回顯
支持用戶輸入的行編輯
響應(yīng)式設(shè)計及在 wifi、3G、長距離連接下的魯棒性
在 IP 改變后保持連接。它使用 UDP 代替 TCP(在 SSH 中使用),當(dāng)連接被重置或者獲得新的 IP 后 TCP 會超時,但是 UDP 仍然保持連接。
在很長的時候之后恢復(fù)會話時仍然保持連接。
沒有網(wǎng)絡(luò)延遲。立即顯示用戶輸入和刪除而沒有延遲
像 SSH 那樣支持一些舊的方式登錄。
包丟失處理機(jī)制
Linux 中 mosh 的安裝
在 Debian、Ubuntu 和 Mint 類似的系統(tǒng)中,你可以很容易地用 apt-get 包管理器安裝。
# apt-get update
# apt-get install mosh
在基于 RHEL/CentOS/Fedora 的系統(tǒng)中,要使用 yum 包管理器安裝 mosh,你需要打開第三方的 EPEL。
# yum update
# yum install mosh
在 Fedora 22+的版本中,你需要使用 dnf 包管理器來安裝 mosh。
# dnf install mosh
我該如何使用 mosh?
1、 讓我們嘗試使用 mosh 登錄遠(yuǎn)程 Linux 服務(wù)器。
$ mosh root@192.168.0.150
注意:你有沒有看到一個連接錯誤,因?yàn)槲以?CentOS 7中還有打開這個端口。一個快速但是我并不建議的解決方法是:
# systemctl stop firewalld
[在遠(yuǎn)程服務(wù)器上]
2、 讓我們假設(shè)把默認(rèn)的 22 端口改到 70,這時使用 -p 選項(xiàng)來使用自定義端口。
$ mosh -p 70 root@192.168.0.150
3、 檢查 mosh 的版本
$ mosh --version
4、 你可以輸入exit來退出 mosh 會話。
$ exit
5、 mosh 支持很多選項(xiàng),你可以用下面的方法看到:
$ mosh --help
mosh 的優(yōu)缺點(diǎn)
mosh 有額外的需求,比如需要允許 UDP 直接連接,這在 SSH 不需要。
動態(tài)分配的端口范圍是 60000-61000。第一個打開的端口是分配好的。每個連接都需要一個端口。
默認(rèn)的端口分配是一個嚴(yán)重的安全問題,尤其是在生產(chǎn)環(huán)境中。
支持 IPv6 連接,但是不支持 IPv6 漫游。
不支持回滾
不支持 X11 轉(zhuǎn)發(fā)
不支持 ssh-agent 轉(zhuǎn)發(fā)
總結(jié)
mosh是一款在大多數(shù)linux發(fā)行版的倉庫中可以下載的一款小工具。雖然它有一些差異尤其是安全問題和額外的需求,它的功能,比如漫游后保持連接是一個加分點(diǎn)。我的建議是任何一個使用ssh的linux用戶都應(yīng)該試試這個程序,mosh值得一試。