連接埠轉發
Mobile SSH 喺 Android 同 iOS 上都支援本機 SSH 連接埠轉發。裝置上嘅本機連接埠會喺 127.0.0.1 監聽,並透過 SSH 連線將流量轉發到遠端主機同連接埠。
Android 另有 VPN 頁面,提供 SSH VPN、本機 SOCKS5 代理、WireGuard、Shadowsocks 同 OpenVPN。呢啲路由設定同下面嘅本機轉發分開儲存。
已儲存通道嘅語法
連接埠轉發規則以逗號分隔。每個項目使用以下兩種形式之一:
PORT
LOCAL:REMOTEHOST:REMOTE
簡短形式:
8080
呢個會喺裝置上綁定 127.0.0.1:8080,並由伺服器角度將流量轉發到 localhost:8080。
完整形式:
3000:localhost:3000
呢個會喺裝置上綁定 127.0.0.1:3000,並透過 SSH 將流量轉發到遠端嗰邊嘅 localhost:3000。
多個轉發:
8080, 3000:localhost:3000, 15432:db.internal:5432
為已儲存嘅伺服器新增通道
- 開啟 Saved Servers。
- 新增或者編輯一個伺服器設定檔。
- 喺 Port forwards 欄位輸入轉發規則。
- 儲存伺服器。
- 連線到伺服器。
應用程式會喺 SSH 工作階段連線之後自動套用已儲存嘅轉發規則。
通道係屬於伺服器設定檔嘅
本機轉發寫喺已儲存伺服器設定,連線時就啟動。想改轉發,編輯設定後再連線。
設定入面嘅隧道每次連線都會恢復,轉咗網絡再連線都一樣。
IPv6 目標
IPv6 目標一定要加方括號,噉啲冒號先唔會同連接埠分隔符混淆:
8080:[2001:db8::1]:80
冇加方括號嘅裸 IPv6 位址會被當成有歧義而拒絕,而唔會靜雞雞誤讀。同一種方括號寫法喺伺服器嘅位址欄位一樣用得,後面仲可以加連接埠([fe80::1]:22)。
位址綁定
Mobile SSH 將本機轉發綁定到裝置嘅 127.0.0.1。呢個係刻意嘅設計:令通道保持喺裝置本機範圍內,同時避免純 IPv6 回送(loopback)帶嚟嘅意外情況。如果作業系統允許同一裝置上其他應用程式嘅網絡存取,佢哋有可能連接到已轉發嘅本機連接埠。
常見例子
存取喺遠端伺服器上運行緊嘅 Web 服務:
8080
然後喺同一部裝置嘅瀏覽器開啟 http://127.0.0.1:8080。
存取開發伺服器:
3000:localhost:3000
存取可以由 SSH 伺服器到達嘅內部資料庫:
15432:db.internal:5432
經跳板機連線
兩個平台嘅已儲存 SSH 伺服器都可以經有次序嘅跳板機清單連線。編輯目標伺服器,喺透過以下主機連線加入堡壘機,按連線次序排好。每一跳用自己儲存嘅憑證,展開路由最多八跳。
手機連第一部堡壘機,之後每個地址都要喺上一部伺服器到達。本機轉發同終端、SFTP 用同一條已驗證 SSH 路由,轉發最終目標由最後一部 SSH 伺服器存取。每部堡壘機要允許繼續 TCP 轉發,每部伺服器認證前都會檢查身份。跳板機只用 SSH,唔適用 Eternal Terminal。
Android VPN 路由
喺主畫面開 VPN,新增或匯入具名設定,再撳啟動圖示。Android 問權限時批准 VPN 請求。啟用期間圖示變成停止路由;鉛筆用嚟編輯,垃圾桶用嚟刪除。常用 VPN 類型會排前面。
Android 同時只容許一個裝置 VPN,啟動另一份設定會取代之前嘅 VPN。本機 SSH SOCKS5 代理可以繼續經非 SSH VPN 執行。Tailscale 用獨立應用程式,啟動 Mobile SSH VPN 會取代佢嘅 VPN。IKEv2/IPsec 喺 Android VPN 設定管理,唔係喺 Mobile SSH。
SSH VPN 同 SOCKS5 代理
- **SSH VPN:**揀儲存咗嘅 SSH 伺服器、憑證同跳板機,再揀所有或指定應用程式同網站。伺服器要允許 TCP 轉發,唔使 VPN 輔助程式。SSH 承載 TCP 同遠端 DNS;分配畀 SSH 嘅其他 UDP 會被擋住,所以瀏覽器可能由 QUIC 轉返 TCP。
- **SOCKS5 代理:**喺獨立設定編輯器揀已儲存 SSH 伺服器,再逐個設定參與嘅應用程式用本機代理同遠端 DNS。預設係
127.0.0.1:1080,密碼自動產生。複製連憑證嘅代理 URL提供兼容客戶端可用嘅socks5h://URL。呢個模式可經現有 VPN(包括 Tailscale)連 SSH。SSH VPN 同 SSH SOCKS5 加埋同時只可以執行一份設定。
網站項目填入 example.org 呢類網域,涵蓋本身同子網域。已識別但唔喺清單嘅網域用普通網絡。直接 IP 連線或者經加密 DNS 得到嘅地址,冇辦法可靠比對清單,會用 SSH。SSH VPN 同時套用應用程式同網站選擇;SOCKS5 就靠逐個設定客戶端決定參與範圍。
遠端 DNS 預設 1.1.1.1:53,要用 SSH 伺服器可到達嘅數字解析器地址。SSH VPN 重連或等認證時,分配畀 SSH 嘅流量繼續阻擋,已知繞過目的地照常連線。停止、轉設定、撤銷 VPN 權限或結束應用程式都會終止保護。呢啲客戶端唔保證 Android 永久開啟或鎖定模式保護。
WireGuard、Shadowsocks 同 OpenVPN
- **WireGuard:**匯入或貼上標準
.conf。AllowedIPs管路由,DNS揀解析器。檢查對端握手同流量計數;介面開咗唔代表連到對端。 - **Shadowsocks:**匯入
ss://連結,或者輸入伺服器、連接埠、密碼、支援嘅加密法同 DNS。支援 AES-128-GCM、AES-256-GCM 同 ChaCha20-Poly1305。TCP 同 UDP 都經隧道;伺服器要有 UDP 中繼先用到 UDP 同 DNS。唔支援必須用插件嘅連結同 AEAD-2022。 - **OpenVPN:**匯入內含憑證同金鑰嘅完整
.ovpn檔案。支援用戶名/密碼同加密私鑰認證,必須驗證伺服器憑證。路由同 DNS 跟設定及伺服器,全隧道需要 VPN DNS。唔支援外部檔案、指令碼、插件、TAP 同互動認證挑戰。
應用程式內置呢啲協定引擎。Shadowsocks 同 OpenVPN 冇 SSH VPN 嗰套應用程式同網站選擇。VPN 亦唔會解除供應商或管理員對其伺服器施加嘅上網限制。
快速設定磚塊
先啟動一次 VPN 設定,將佢選為 Mobile SSH VPN 磚塊目標。Mobile SSH VPN 啟用時,包括連線或重連期間,磚塊會亮起。撳一下停止,再撳開返記住嘅設定。佢唔會啟動 SOCKS5 代理,亦唔會停其他應用程式嘅 VPN。
Android 13 或以上首次開 VPN 頁面會要求加入磚塊。拒絕咗或者用較舊 Android,可以喺快速設定 → 編輯加入。設定刪咗或缺少權限,就會開 VPN 頁面畀你設定。
通道疑難排解
- 確保 SSH 工作階段已連線 —— 轉發規則係喺工作階段連通之後先開起。
- 檢查本機連接埠係咪已被佔用。
- 檢查遠端主機同連接埠係咪可以由 SSH 伺服器到達。
- 如果目標服務就喺 SSH 伺服器本身,請用
localhost。 - 如果係轉發到 SSH 伺服器背後嘅另一部主機,請用伺服器嘅內部 DNS 名稱或 IP。
- 跳板機路由要檢查每跳嘅憑證、身份同 TCP 轉發權限。
- VPN 要檢查所選伺服器或設定、DNS、Android VPN 權限同其他活動 VPN。各協定檢查方法見疑難排解指南。