OpenSSH接続多重化。ControlMaster auto・ControlPath ~/.ssh/cm/%r@%h:%p・ControlPersist 10m/yes・接続共有で2回目以降インスタント(<100ms)・ServerAliveInterval 60・TCPKeepAlive yes・Compression yes(gzip level 6)・ProxyJump bastion・Match/Host pattern・Connection timeout・.ssh/config file例・IdentityFile・UseKeychain yes(macOS)・Blackbox Tunnel対応、2026年DevOps効率化。
SSH ControlMaster/Multiplex は、OpenSSH の接続多重化機能である。
接続を一度確立した後、同一ホストへの再接続を即時に行うことで、
ネットワーク遅延を 100 ms 未満に抑え、DevOps の作業効率を大幅に向上させる。
2026 年のリリースで追加された ProxyJump と ControlPersist の組み合わせにより、
中継サーバー経由での高速接続が可能となった。
ssh -M がマスターを起動。ControlPath に指定された UNIX ソケットに接続情報を書き込み。ssh -S で既存ソケットへ接続し、即時にデータ転送。ControlPersist が有効なら、マスターは接続終了後も 10 分保持。| 仕様項目 | 典型的な設定 | 代替設定 | 備考 |
|---|---|---|---|
| ControlMaster | auto | yes | マスターを常に起動 |
| ControlPersist | 10m | yes | 10 分保持 |
| Compression | yes(gzip level 6) | no | 帯域節約 |
| ServerAliveInterval | 60 | 30 | キープアライブ頻度 |
| TCPKeepAlive | yes | no | TCP レベルでの保守 |
| ProxyJump | bastion | none | 中継サーバー経由 |
| IdentityFile | ~/.ssh/id_ed25519 | ~/.ssh/id_rsa | 鍵種の違い |
ControlPersist がデフォルトで 5 分に設定。ProxyCommand と ControlMaster で実装。ControlMaster を有効化でき、初心者でも簡単に設定可能。ControlPersist を自動で管理。ControlMaster を利用し、転送速度を向上。Q1:ControlPersist を 10m に設定した場合、接続が切れた後に再接続すると何が起きますか?
A1:マスターが 10 分保持されているため、再接続は即時に行われ、遅延は 100 ms 未満になる。
Q2:ProxyJump と ControlMaster を同時に使うと重複する設定になりますか?
A2:ProxyJump は中継サーバーを経由するための設定で、ControlMaster は接続共有を行う。両方を併用しても問題はない。
Q3:ControlMaster を無効にした場合、どのような影響がありますか?
A3:再接続時に TCP ハンドシェイクが発生し、遅延が数百ミリ秒に増加。
SSH ControlMaster/Multiplex は、接続確立時のオーバーヘッドを大幅に削減し、
2026 年の DevOps 環境で不可欠な技術である。
ProxyJump と ControlPersist の組み合わせにより、
中継サーバー経由でも高速かつ安定した接続が実現できる。
自作PCを構築する際は、CPU、GPU、メモリ、ストレージといったハードウェアを
最新世代の製品で揃えることで、SSH のパフォーマンスを最大化できる。
次世代のリモート作業をスムーズに行うために、
本記事で紹介した設定をぜひ取り入れてみてください。
| UseKeychain |
| yes |
| no |
| macOS 専用 |
| Connection timeout | 30s | 10s | タイムアウト短縮 |
| Match Host | pattern | none | ホスト別設定 |