接続設定とVPN
自動再接続・Keep-Alive・ポートフォワーディング・ジャンプホスト・VPN設定
接続設定とVPN
MTerm の接続設定を最適化して、安定した SSH 接続を維持しましょう。ポートフォワーディング、ジャンプホスト、VPN の設定方法も解説します。
接続設定
ホストごとに以下の接続設定をカスタマイズできます。
| 設定項目 | デフォルト | 説明 |
|---|---|---|
| 自動再接続 | ON | バックグラウンドから復帰したとき、切断されていた場合に自動的に再接続 |
| 最大リトライ回数 | 10 | 自動再接続を試みる最大回数。超えた場合は手動での再接続が必要 |
| 再接続間隔 | 3 秒 | 再接続のリトライ間に待機する時間。短すぎるとサーバーに負荷がかかる場合がある |
| Keep-Alive | 30 秒 | サーバーへの Ping 送信間隔。接続がアイドル状態でも維持されるようにする |
| シェル再起動しきい値 | 300 秒 | バックグラウンドでこの時間が経過した場合、復帰時にシェルを再起動する |
| バックグラウンド切断 | OFF | バックグラウンド移行時に TCP 接続を意図的に切断する(遅延時間を設定可能) |
| シェル終了時の動作 | 自動閉じる | シェルが終了したときの挙動を選択 |
シェル終了時の動作
| 設定 | 説明 |
|---|---|
| 自動閉じる | シェルが終了すると自動的にタブ / ペインを閉じる |
| 確認ダイアログ | 終了前に確認ダイアログを表示 |
| 開いたまま | シェルが終了してもタブ / ペインを開いたまま維持。出力を確認した後に手動で閉じる |
Keep-Alive の推奨設定
| 環境 | 推奨値 | 理由 |
|---|---|---|
| 自宅 / オフィス | 30 秒 | 安定した環境ではデフォルトで十分 |
| VPN 経由 | 15 〜 20 秒 | VPN は接続を早めに切断することがある |
| モバイル回線 | 10 〜 15 秒 | セルラー回線はアイドル接続を切りやすい |
| クラウド(AWS 等) | 20 〜 30 秒 | セキュリティグループのタイムアウト設定に依存 |
ポートフォワーディング
SSH トンネルを使って、ローカルとリモート間でポートを転送します。Web アプリの開発プレビューやデータベース接続に便利です。
ローカルポートフォワード(-L)
iPad のローカルポートでリッスンし、SSH トンネル経由でリモートサーバーのポートに転送します。
用途の例:
| ローカル | リモート | 用途 |
|---|---|---|
localhost:3000 | remote:3000 | Next.js / React の開発サーバー |
localhost:8080 | remote:8080 | Spring Boot / Go のアプリケーション |
localhost:5432 | remote:5432 | PostgreSQL データベースへのアクセス |
localhost:6379 | remote:6379 | Redis への接続 |
リモートポートフォワード(-R)
リモートサーバーのポートでリッスンし、SSH トンネル経由で iPad 側のサービスに転送します。
用途の例:
- リモートサーバーから iPad 上のローカルサービスにアクセス
- 外部からアクセスできない開発環境への一時的な公開
ステータス管理
各ポートフォワードの状態をリアルタイムで追跡できます。
| ステータス | 説明 |
|---|---|
| アクティブ | 転送が正常に動作中 |
| 停止 | 転送が停止されている |
| 開始中 | 転送の接続を確立中 |
| エラー | 転送にエラーが発生(ポート競合等) |
| 再接続中 | 接続断の後、自動的に再接続を試みている |
設定と管理
- ホストプロファイルに保存: ポートフォワード設定はホストごとに保存され、接続時に自動的に開始
- 個別の起動 / 停止制御: 各転送を個別に起動・停止可能
- 接続断時の自動再接続: SSH 接続が一時的に切れても、再接続後にポートフォワードも自動再開
ジャンプホスト(踏み台サーバー)
中間サーバー(踏み台 / バスティオンサーバー)を経由して、最終目的地のサーバーに接続します。直接アクセスできないプライベートネットワーク内のサーバーへの接続に使用します。
設定方法
- まず踏み台サーバーをホストとして登録
- 最終接続先のホスト設定で「ジャンプホスト」を選択
- 登録済みの踏み台サーバーを指定
接続の流れ
iPad → 踏み台サーバー(公開IP) → 最終サーバー(プライベートIP)
RSA-SHA256 対応
ジャンプホスト経由の接続でも、RSA-SHA256(rsa-sha2-256)認証が正しく動作します。踏み台サーバーと最終サーバーのどちらにも RSA 鍵認証を使用可能です。
活用例
| シナリオ | 踏み台 | 最終接続先 |
|---|---|---|
| AWS 開発環境 | Bastion Host(パブリックサブネット) | EC2 インスタンス(プライベートサブネット) |
| 社内サーバー | VPN ゲートウェイ | 社内開発サーバー |
| 本番環境 | 踏み台サーバー(監査ログ付き) | 本番 Web サーバー |
VPN経由の接続
自宅や社内のサーバーに外出先からアクセスするには、VPN が必要な場合があります。MTerm は iOS の VPN 機能と完全に互換性があります。
Tailscale(おすすめ)
| 項目 | 内容 |
|---|---|
| 特徴 | セットアップが最も簡単。WireGuard ベースのメッシュ VPN |
| 料金 | 個人利用は無料 |
| セットアップ | iPad と接続先サーバーの両方で Tailscale をインストールし、同じアカウントでログインするだけ |
手順:
- iPad に Tailscale アプリをインストール
- 接続先サーバーに Tailscale をインストール
# Ubuntu / Debian curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up - 両方で同じアカウントにログイン
- MTerm のホスト設定で Tailscale の IP アドレス(
100.x.x.x)を使用
Tailscale は NAT の背後にあるサーバーにも直接接続できるため、ポート開放やルーターの設定変更が不要です。
WireGuard
| 項目 | 内容 |
|---|---|
| 特徴 | 高速・軽量な VPN プロトコル。自前サーバーで運用したい場合に最適 |
| 料金 | 無料(オープンソース) |
| セットアップ | サーバー側の設定ファイル作成が必要 |
手順:
- サーバーに WireGuard をインストール・設定
sudo apt install wireguard # サーバー側の設定ファイルを作成 - iPad に WireGuard アプリをインストール
- QR コードまたは設定ファイルでクライアント設定をインポート
- VPN を有効化
- MTerm のホスト設定で VPN 内のプライベート IP を使用
VPN選択のガイドライン
| 条件 | おすすめ |
|---|---|
| とにかく簡単に使いたい | Tailscale |
| 自前のインフラで運用したい | WireGuard |
| 企業の既存 VPN がある | その VPN を iOS 設定で接続し、MTerm でプライベート IP を使用 |
| 一時的なアクセスだけ必要 | Tailscale(すぐにセットアップ・解除可能) |
トラブルシューティング
接続がすぐに切れる
- Keep-Alive の間隔を短くする: サーバーやネットワーク機器がアイドル接続を切断している可能性があります
- サーバーの
ClientAliveIntervalを確認:/etc/ssh/sshd_configの設定値と MTerm の Keep-Alive 値を合わせる
再接続に失敗する
- 最大リトライ回数を増やす: 不安定な回線では 10 回以上に設定
- 再接続間隔を調整: 短すぎるとサーバーに拒否される場合がある。5 秒程度に設定
ポートフォワードが動かない
- ポートの競合: ローカルで既に使用されているポートを指定していないか確認
- サーバー側の設定:
/etc/ssh/sshd_configでAllowTcpForwarding yesが設定されているか確認 - ファイアウォール: リモート側のファイアウォールが対象ポートをブロックしていないか確認
VPN接続後にSSHが通らない
- DNS の解決: VPN 接続後は DNS が変わることがある。IP アドレスで直接指定して試す
- ルーティング: VPN がスプリットトンネルかフルトンネルかを確認