Mosh (Mobile Shell)
永不中斷的遠端終端機
軟體分類 網路與資安 / 遠端連線
軟體標籤
文字擴充KVM
開發廠商 Keith Winstein & The Mosh Team
產品說明
Mosh (Mobile Shell) 是一款專為解決傳統 SSH 在不穩定網路環境下痛點而生的遠端終端機應用程式。它並非用來完全取代 SSH,而是與 SSH 搭配使用:利用 SSH 進行初始的身份驗證與通道建立,隨後切換至 Mosh 獨有的加密 UDP 協定(SSP)進行資料傳輸。
對於經常需要在移動中工作(如搭火車、使用手機熱點)或網路延遲極高(跨國連線)的使用者來說,Mosh 是不可或缺的神器。它具備「漫遊(Roaming)」能力,當你的 IP 位址改變(例如從 Wi-Fi 切換到 4G),連線不會中斷,而是自動無縫接軌。此外,它的「本地預測回顯(Local Echo)」技術,能讓你在高延遲網路下打字時,依然享有如本機般的即時流暢感,不再需要等待伺服器回應才能看到自己打出的字。
核心特色:
- 自動漫遊 (Roaming):支援 IP 位址動態切換,網路斷線重連後 Session 依然存活,無需重新登入。
- 本地預測回顯:智慧預測使用者的輸入結果並立即顯示,消除高延遲網路下的打字卡頓感。
- 強韌的連線:基於 UDP 協定,對封包遺失(Packet Loss)有極佳的容忍度,電腦休眠喚醒後連線依然有效。
- 無需特權:伺服器端與客戶端皆以一般使用者權限執行,無需 Root 權限或常駐 Daemon。
常用指令
Mosh 的使用方式與 ssh 非常相似,通常只需將原本指令中的 ssh 替換為 mosh 即可。
基礎連線
# 連線到遠端伺服器 (使用預設 SSH 設定)
mosh user@example.com
# 指定 SSH 連接埠 (若遠端 SSH 非 Port 22)
mosh --ssh="ssh -p 2222" user@example.com
| 指令 | 功能說明 | 範例 |
|---|---|---|
| mosh | 建立連線 | mosh user@host |
| –ssh | 指定 SSH 指令 | 用於傳遞特殊的 SSH 參數 (如 Key、Port) |
| –predict | 控制預測模式 | --predict=always 強制開啟本地回顯 |
| –server | 指定 Server 路徑 | 若遠端 mosh-server 不在 PATH 中時使用 |
| -p | 指定 UDP Port | mosh -p 60001 user@host (指定特定 UDP 埠) |
| Ctrl-^ . | 關閉連線 | 強制切斷卡住的 Mosh 連線 (Escape Sequence) |
進階技巧
指定 UDP 埠範圍:
Mosh 預設使用 UDP 60000-61000 範圍。若防火牆只開放特定 Port,可強制指定:mosh -p 60001 user@example.com處理特殊的 SSH 設定:
若你的 SSH config 有設定別名(Alias),Mosh 能直接讀取並使用:# ~/.ssh/config 中已定義 Host myserver mosh myserver永久連線測試:
在筆電蓋上螢幕休眠後,移動到另一個咖啡廳打開電腦,你會發現終端機畫面依然停留在你離開時的樣子,且能立即繼續輸入指令,這就是 Mosh 最大的威力。
操作介面
Mosh 本身運作於終端機內,外觀取決於您使用的終端模擬器(如 iTerm2, Terminal, Windows Terminal),但在連線建立當下會顯示獨有的狀態列(藍色橫條),提示連線狀態與延遲資訊。



