ポート転送
ローカルポート転送を使うと、サーバーの向こう側にあるサービス(データベース、 ノートブック、開発用サーバーなど)に、あたかも手元にあるかのようにデバイスから 接続できます。
ルールを追加する
エディタでホストを開き、転送タブに移動します。各ルールの内容は次のとおり です。
- ローカルポート — デバイス側のポートです(1024 以上である必要があります。 iOS のサンドボックスはそれ未満をバインドできません)。
- リモートホスト — SSH サーバーから見たアドレスです(既定は
localhost)。 - リモートポート。
- 省略可能なラベル。
- 接続時に自動で開始。
プリセットには定番のものがそろっています。jupyter 8888、postgres 5432、mysql 3306、redis 6379、web 3000、web 8080 です。
1 つのホストの中でローカルポートを重複させることはできません。ルールの変更は、 すでに接続済みのホストにもその場で適用されます。
「トンネル」ページ
サイドバーのトンネルページには、すべてのホストの転送ルールが集まり、ホスト ごとにまとめられて、接続済み/未接続の状態とともに表示されます。各ルールには、 その状態(例:「待ち受け中 · アクティブ 0」)、リアルタイムの ↑/↓ のバイト数、 有効化トグル、そして HTTP 系のポートを Safari で開くボタンが並びます。
セッションの中では、トップバーの ⇄ N のチップが、そのホストについて同じ状態を 示します。
iPhone では、トンネルはセッションのトップバーから確認できますが、 ルールの作成と編集は iPad で行います。
トンネルを使う
ルールが待ち受けを始めたら、デバイス上の任意のアプリをlocalhost:<local port>に
向けてください。開発用サーバーならブラウザ、データベースなら Postgres クライアント
といった具合です。通信は SSH 接続の中を通ってサーバーに届き、サーバーがそこから
リモートの host:port へ接続します。
mosh と転送
転送ルールは SSH 接続に相乗りします。mosh のトランスポートでは次のように なります。
- 自動 tmux と名前付き tmux の起動モードは tmux 用の SSH サイドチャネルを 保持するため、転送はそこを通って機能します。
- カスタムの起動モードには転送を通せる SSH 接続がないため、ルールの追加は 無効になります。起動モードを自動 tmux か名前付き tmux に切り替えてください。
制限
- ローカルポートは ≥ 1024 である必要があります(iOS のサンドボックス)。
- 1 つのホストの中で、ローカルポートを重複させることはできません。
- 転送はローカルからリモートへの方向のみで、リモート (-R) 転送はありません。