ガイド

接続設定とVPN

自動再接続・Keep-Alive・ポートフォワーディング・ジャンプホスト・VPN設定

接続設定とVPN

MTerm の接続設定を最適化して、安定した SSH 接続を維持しましょう。ポートフォワーディング、ジャンプホスト、VPN の設定方法も解説します。


接続設定

ホストごとに以下の接続設定をカスタマイズできます。

設定項目デフォルト説明
自動再接続ONバックグラウンドから復帰したとき、切断されていた場合に自動的に再接続
最大リトライ回数10自動再接続を試みる最大回数。超えた場合は手動での再接続が必要
再接続間隔3 秒再接続のリトライ間に待機する時間。短すぎるとサーバーに負荷がかかる場合がある
Keep-Alive30 秒サーバーへの Ping 送信間隔。接続がアイドル状態でも維持されるようにする
シェル再起動しきい値300 秒バックグラウンドでこの時間が経過した場合、復帰時にシェルを再起動する
バックグラウンド切断OFFバックグラウンド移行時に TCP 接続を意図的に切断する(遅延時間を設定可能)
シェル終了時の動作自動閉じるシェルが終了したときの挙動を選択

シェル終了時の動作

設定説明
自動閉じるシェルが終了すると自動的にタブ / ペインを閉じる
確認ダイアログ終了前に確認ダイアログを表示
開いたままシェルが終了してもタブ / ペインを開いたまま維持。出力を確認した後に手動で閉じる

Keep-Alive の推奨設定

環境推奨値理由
自宅 / オフィス30 秒安定した環境ではデフォルトで十分
VPN 経由15 〜 20 秒VPN は接続を早めに切断することがある
モバイル回線10 〜 15 秒セルラー回線はアイドル接続を切りやすい
クラウド(AWS 等)20 〜 30 秒セキュリティグループのタイムアウト設定に依存

ポートフォワーディング

SSH トンネルを使って、ローカルとリモート間でポートを転送します。Web アプリの開発プレビューやデータベース接続に便利です。

ローカルポートフォワード(-L)

iPad のローカルポートでリッスンし、SSH トンネル経由でリモートサーバーのポートに転送します。

用途の例:

ローカルリモート用途
localhost:3000remote:3000Next.js / React の開発サーバー
localhost:8080remote:8080Spring Boot / Go のアプリケーション
localhost:5432remote:5432PostgreSQL データベースへのアクセス
localhost:6379remote:6379Redis への接続

リモートポートフォワード(-R)

リモートサーバーのポートでリッスンし、SSH トンネル経由で iPad 側のサービスに転送します。

用途の例:

  • リモートサーバーから iPad 上のローカルサービスにアクセス
  • 外部からアクセスできない開発環境への一時的な公開

ステータス管理

各ポートフォワードの状態をリアルタイムで追跡できます。

ステータス説明
アクティブ転送が正常に動作中
停止転送が停止されている
開始中転送の接続を確立中
エラー転送にエラーが発生(ポート競合等)
再接続中接続断の後、自動的に再接続を試みている

設定と管理

  • ホストプロファイルに保存: ポートフォワード設定はホストごとに保存され、接続時に自動的に開始
  • 個別の起動 / 停止制御: 各転送を個別に起動・停止可能
  • 接続断時の自動再接続: SSH 接続が一時的に切れても、再接続後にポートフォワードも自動再開

ジャンプホスト(踏み台サーバー)

中間サーバー(踏み台 / バスティオンサーバー)を経由して、最終目的地のサーバーに接続します。直接アクセスできないプライベートネットワーク内のサーバーへの接続に使用します。

設定方法

  1. まず踏み台サーバーをホストとして登録
  2. 最終接続先のホスト設定で「ジャンプホスト」を選択
  3. 登録済みの踏み台サーバーを指定

接続の流れ

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 をインストールし、同じアカウントでログインするだけ

手順:

  1. iPad に Tailscale アプリをインストール
  2. 接続先サーバーに Tailscale をインストール
    # Ubuntu / Debian
    curl -fsSL https://tailscale.com/install.sh | sh
    sudo tailscale up
  3. 両方で同じアカウントにログイン
  4. MTerm のホスト設定で Tailscale の IP アドレス(100.x.x.x)を使用

Tailscale は NAT の背後にあるサーバーにも直接接続できるため、ポート開放やルーターの設定変更が不要です。

WireGuard

項目内容
特徴高速・軽量な VPN プロトコル。自前サーバーで運用したい場合に最適
料金無料(オープンソース)
セットアップサーバー側の設定ファイル作成が必要

手順:

  1. サーバーに WireGuard をインストール・設定
    sudo apt install wireguard
    # サーバー側の設定ファイルを作成
  2. iPad に WireGuard アプリをインストール
  3. QR コードまたは設定ファイルでクライアント設定をインポート
  4. VPN を有効化
  5. 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_configAllowTcpForwarding yes が設定されているか確認
  • ファイアウォール: リモート側のファイアウォールが対象ポートをブロックしていないか確認

VPN接続後にSSHが通らない

  • DNS の解決: VPN 接続後は DNS が変わることがある。IP アドレスで直接指定して試す
  • ルーティング: VPN がスプリットトンネルかフルトンネルかを確認