疑難排解
呢一頁介紹 Mobile SSH 嘅常見問題,以及喺更改伺服器端 SSH 設定之前應該先做嘅檢查。
無法連線
請檢查:
- 裝置有網絡存取。
- 伺服器嘅主機名稱或 IP 位址正確。
- SSH 連接埠正確,通常係
22。 - 防火牆、VPN、電訊商網絡或 Wi-Fi 網絡冇封鎖個連接埠。
- SSH 伺服器執行緊,並接受由你所用網絡嚟嘅連線。
如果同一部主機喺另一部裝置可用,請逐項比較主機、連接埠、用戶名、金鑰同網絡路徑。
伺服器身份需要處理
兩個平台都喺傳送憑證前檢查 SSH 伺服器身份。iOS 遇到新主機金鑰要確認指紋,再揀信任並重新連線。Android 嘅設定 → 一般 → 安全 → 自動接受新 SSH 身份預設開啟:第一次原始金鑰自動儲存,之後一定要匹配。關閉就可以連線前先睇新指紋。
經可信渠道同管理員核對新增或改變金鑰嘅 SHA-256 指紋。金鑰變咗可能係換伺服器,亦可能連錯目標;核實之前唔好刪舊身份。設定可以睇儲存身份,其他地址同跳板機唔會繞過驗證。
Android 仲支援限定範圍嘅主機憑證機構同撤銷。就算開咗首次自動接受,未知機構、過期或無效憑證、撤銷金鑰都會被擋。iOS 嘅設定 → 伺服器身份 → 匯入已撤銷金鑰接受限定範圍 OpenSSH @revoked Ed25519/ECDSA 項目。貼上內容混咗唔支援項目會全部拒絕;CA、憑證、RSA 金鑰同雜湊主機名唔支援。新連線同重連會以撤銷為先,即使原本信任,但唔會關閉現有連線。身份同撤銷記錄唔入備份。iOS 分享擴充上載前,要先喺主應用程式驗證未知伺服器。
經跳板機連唔到線
檢查每部儲存堡壘機嘅地址同憑證,確保手機連到第一跳。之後每部主機要由上一部到達。堡壘機要准許繼續 TCP 轉發,包括符合 permitopen 限制。路由要用 SSH、唔可以循環,展開最多八跳。
堡壘機刪咗或者搵唔到,唔會轉為直接連線。修好路由再連。Android 連線狀態同登入紀錄會分開指出失敗跳點同最終伺服器。
驗證失敗
請檢查:
- 用戶名串法。
- 密碼或金鑰密碼短語。
- 伺服器係咪允許密碼登入、金鑰登入或兩者。
- 私鑰係咪同伺服器用戶
authorized_keys入面嘅公鑰相符。 - 金鑰檔案係咪完整匯入,包括開頭同結尾行。
對於已加密嘅私鑰,喺密碼/密碼短語欄位輸入密碼短語。
Android 遠端 ssh 或 git 要為儲存伺服器開啟轉發 SSH 代理,伺服器亦要允許。只提供儲存咗而且可用嘅金鑰。未答嘅允許/拒絕或安全金鑰提示,可以暫停嗰條連線嘅終端、傳檔同隧道最多 30 秒;喺應用程式或通知答覆。
私鑰匯入失敗
私鑰匯入用系統檔案選擇器。如果匯入失敗:
- 確認所選檔案係私鑰,而唔係公鑰
.pub檔案。 - 喺可信嘅文字編輯器開啟檔案,確認佢包含完整嘅金鑰區塊。
- 試吓將金鑰手動貼入私鑰欄位。
- 確認金鑰類型受支援:喺 Android 係 Ed25519、ECDSA(P-256/384/521)或 RSA;喺 iOS 係 Ed25519 或 ECDSA。DSA(
ssh-dss)兩邊都唔支援,而 iOS 亦唔支援 RSA —— 請改為產生一條 Ed25519 金鑰。
Android 安全金鑰冇反應
Android 經 USB 或 NFC 支援 CTAP2/FIDO2 ed25519-sk 同 ecdsa-sk 憑證。要用返建立匯入憑證檔案嗰把實體金鑰。USB 要有主機支援同權限;NFC 要開啟,操作完成前金鑰要貼住手機。提示時輸入 PIN,再觸摸金鑰。
伺服器要有 OpenSSH 8.2 或以上並允許所選 sk-* 算法。唔支援只有 U2F 嘅金鑰同常駐憑證探索。搵金鑰時登入可能逾時,連線前準備好。背景請求可以開安全金鑰通知或者返應用程式。iOS 唔支援硬件安全金鑰認證。
鍵盤輸入延遲或被更改
Android 直接傳送輸入,關閉自動更正同預測建議。iOS 預設開啟聽寫同建議,支援語音同目前行更正。如果意外改咗 shell 文字,喺設定關閉並檢查鍵盤建議,再開新窗格生效。
用擴充鍵列輸入 ESC、TAB、CTRL、方向鍵、HOME、END、PGUP 同 PGDN。網絡停頓亦會延遲輸入。Android 標題會寫冇回應或未傳送;重連期間輸入會丟棄,唔會喺新 shell 重播。等連線恢復,睇清提示符,只重新輸入需要嘅內容。
tmux 捲動同預期唔同
Mobile SSH 會根據終端機狀態更改捲動行為。喺 tmux 或其他備用畫面程式,捲動手勢可能傳送 tmux 複製模式指令,而唔係捲動本機歷史。如果啟用咗 tmux 滑鼠模式,應用程式會傳送滑鼠滾輪跳脫序列。
如果捲動感覺唔啱:
- 試吓喺遠端伺服器啟用或關閉 tmux 滑鼠模式。
- 用額外按鍵列嘅
PGUP同PGDN。 - 喺捲動密集輸出之前,雙撳窗格進入全螢幕。
- 如果遠端終端機大細睇落過時,請卸離並重新附加 tmux。
Android 見到標準複製模式標記時,捲到底會自動離開應用程式管理嘅 tmux 複製模式。自訂或分割佈局冇標記時可能要手動退出。切換工作階段時,檢查管理器揀咗嘅伺服器、tmux socket 同名稱。
鎖螢幕後工作階段中斷
喺 Android,Mobile SSH 用保活、前景服務、喚醒鎖、Wi-Fi 鎖同重新連線嘗試嚟減少中斷。Android 嘅電池政策仍然可能停止背景工作。
請檢查:
- 如果你部裝置會積極停止背景應用程式,請為 Mobile SSH 關閉電池最佳化。
- 喺長工作階段期間保持 Wi-Fi 或流動數據穩定。
- 解鎖之後重新開啟 Mobile SSH 並撳 Active Sessions。
- 如果你想 shell 喺你撥走個 App 之後都繼續生存,請確認 Settings 入面嘅 Keep sessions running in background 係開嘅。
- 如果伺服器中斷咗 SSH 工作階段,請由主畫面重新連線 —— Continue 列出仲連緊嘅嘢,Tmux sessions 就列出喺伺服器上面等緊你嘅嘢。
iOS 會暫停背景應用程式,轉走或鎖屏後 SSH 連線唔能夠永久保持。短暫寬限可應付快速切換。將伺服器連線時附加設為 tmux、Herdr 或 Zellij,或者用 Eternal Terminal,重連後可繼續工作。多工器要仍喺伺服器執行;Eternal Terminal 唔支援跳板機路由。
檔案傳輸無法瀏覽手機檔案
Mobile SSH 喺 Android 唔會攞任何儲存權限。取而代之,本機窗格顯示嘅係你用系統資料夾選擇器授權嗰一個資料夾 —— 如果佢係空嘅,就用 Pick folder 揀一個。呢個授權會一直保留,所以只需要做一次。
如果遠端檔案載入到但本機檔案載入唔到,咁 SSH 連線係冇問題嘅,你純粹係仲未授權過任何資料夾。
iOS 本機窗格初次顯示應用程式文件區。我的手機 → 選擇本機資料夾可揀並記住另一個「檔案」資料夾。供應商或授權用唔到時重新揀,或者轉返應用程式資料夾。應用程式下載喺我的 iPhone;外部檔案留喺供應商原本位置。備份唔會轉移資料夾權限。
上載或下載失敗
請檢查:
- SSH 工作階段仍然連線緊。
- 遠端目錄存在。
- 遠端用戶有讀取或寫入該路徑嘅權限。
- 本機目標可寫入。
- 裝置有足夠嘅可用空間。
- 網絡對大型傳輸足夠穩定。
連接埠轉發失敗
請檢查:
- 本機連接埠喺
1同65535之間。 - 本機連接埠未被佔用。
- 通道字串係
PORT或LOCAL:REMOTEHOST:REMOTE。 - 遠端主機同遠端連接埠可以由 SSH 伺服器到達。
- SSH 伺服器允許 TCP 轉發。
Android VPN 或代理冇流量
- 喺 VPN 啟動想用嘅設定並批准系統請求。啟動裝置 VPN 會取代之前嗰個;要留住另一個 VPN 就用本機 SOCKS5 代理。
- SSH VPN 要檢查儲存 SSH 伺服器、跳板機、身份同 TCP 轉發權限,以及應用程式同網站選擇。SSH 承載 TCP 同 DNS,唔支援一般 UDP。
- SOCKS5 客戶端要設定回環地址、連接埠、密碼同遠端 DNS。代理開咗唔會自動轉走所有應用程式。
- WireGuard 要檢查握手、金鑰、
AllowedIPs同 DNS。Shadowsocks 要對返伺服器加密法/密碼,並確認 DNS 所需 UDP 中繼。 - OpenVPN 要用支援嘅完整設定,驗證 CA/伺服器身份同憑證,全隧道要提供 VPN DNS。修好認證或憑證錯誤後,停咗再開返。
SSH VPN、Shadowsocks 同 OpenVPN 重連期間可繼續擋住捕獲流量,唔轉直連;停止就結束保護。VPN 唔能夠繞過伺服器供應商或管理員施加嘅上網限制。
備份冇還原晒所有內容
睇清匯入預覽同合併或取代方式。舊版或部分備份欠缺嘅整個區域會保持原樣。完整備份包含支援嘅應用程式偏好,Android 亦包括 VPN 同代理設定。平台專用項目未必搬到 iOS,舊版應用程式亦可能拒絕新版完整備份。
主機身份、系統權限同資料夾授權都留喺本機。新裝置要重新驗證主機、授權資料夾同 VPN。硬件金鑰憑證仍需要實體金鑰。匯入設定唔會啟動 VPN,開之前先檢查還原內容。
遠端桌面用唔到或者改唔到大小
由已連線 SSH 工作階段開桌面查看器,確認伺服器准許本機 TCP 轉發。Linux 按缺少套件提示安裝桌面/VNC 軟件。Android 唔能夠鏡像 Wayland 主控台,改用支援嘅虛擬桌面。
喺 Mac 設定開螢幕共享。Android 支援 Mac 帳戶認證;iOS 要喺螢幕共享開傳統 VNC 密碼存取,用螢幕共享密碼而唔係 Mac 帳戶密碼。查看器顯示現有 Mac 畫面,解像度可能要喺 Mac 改。虛擬桌面要伺服器支援先可即時改大小;重啟應用程式建立嘅桌面要確認,並會關閉入面程式。離開查看器後遠端桌面照樣執行。
偵錯日誌
兩個平台記嘅嘢唔同,所以揀返啱你個問題嗰個。
Android —— 終端機同繪製。 開啟 Settings → Debugging → Show Debug and Logs buttons,然後用起始畫面出現嗰粒 Debug 掣。佢會記錄終端機事件、SSH 資料大細、觸控輸入、調整大細行為同通道生命週期。開始記錄之前,佢會先警告你,話明佢會擷取你打嘅每一個字,連密碼都計埋。停止記錄就會將封存檔寫入你嘅「下載」資料夾。
iOS —— 連線同重連。 開啟 Settings → Diagnostics → Record debug log。佢會記錄每個撥過嘅位址同失敗原因、重連嘗試同佢哋嘅退避、斷咗嘅連線、「peer stopped answering keepalives」、網絡轉變,以及 tmux 指令同佢哋嘅錯誤。Settings 會顯示即時行數,等你確認佢真係記緊嘢,而 Export Debug Log 可以將佢以文字檔案分享出去。佢係存喺記憶體,淨係涵蓋目前呢次應用程式工作階段。
喺分享任何偵錯日誌或封存檔之前請先查看。佢哋係用嚟疑難排解,可能會揭露伺服器名稱、位址、時間或其他環境細節 —— 喺 Android 仲會包括你打過嘅嘢。