連接埠轉發

Mobile SSH 喺 Android 同 iOS 上都支援本機 SSH 連接埠轉發。裝置上嘅本機連接埠會喺 127.0.0.1 監聽,並透過 SSH 連線將流量轉發到遠端主機同連接埠。

已儲存通道嘅語法

連接埠轉發規則以逗號分隔。每個項目使用以下兩種形式之一:

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

為已儲存嘅伺服器新增通道

  1. 開啟 Saved Servers
  2. 新增或者編輯一個伺服器設定檔。
  3. Port forwards 欄位輸入轉發規則。
  4. 儲存伺服器。
  5. 連線到伺服器。

應用程式會喺 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

通道疑難排解