ポートフォワーディング

Mobile SSH はローカルの SSH ポートフォワーディングに対応します。Android 端末上のローカルポートが 127.0.0.1 で待ち受け、SSH 接続を通じてリモートのホストとポートへトラフィックを転送します。

保存済みトンネルの構文

ポートフォワーディング規則はカンマ区切りです。各エントリは次の 2 つの形式のいずれかを使います。

PORT
LOCAL:REMOTEHOST:REMOTE

短い形式:

8080

これは Android 端末で 127.0.0.1:8080 をバインドし、サーバーの観点で localhost:8080 へ転送します。

完全な形式:

3000:localhost:3000

これは Android 端末で 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 セッションが接続した後に保存済みの転送を適用します。

アクティブなトンネルを管理する

接続中はセッションを選び、ターミナルのツールバーからトンネルビューを開きます。そこからアクティブなローカル転送を確認したり、新しいトンネルを追加したり、ローカル転送を削除したりできます。

アドレスのバインド

Mobile SSH はローカル転送を Android 端末の 127.0.0.1 にバインドします。これは意図的な設計で、トンネルを端末ローカルに保ち、IPv6 のみのループバックによる予期しない動作を避けます。Android が同じ端末上の他アプリのネットワークアクセスを許可している場合、それらのアプリが転送されたローカルポートに接続できることがあります。

よくある例

リモートサーバーで動く Web サービスにアクセスする:

8080

その後、Android 端末のブラウザで http://127.0.0.1:8080 を開きます。

開発サーバーにアクセスする:

3000:localhost:3000

SSH サーバーから到達できる内部データベースにアクセスする:

15432:db.internal:5432

トンネルのトラブルシューティング