OpenSSHのセッションを使い回す(OpenSSH ControlMaster)
OpenSSH ControlMasterとは、SSH sessionが存在する場合はそのsessionを再利用して、新たなSSH sessionを作成しない仕組みです。
ログインが高速化されるため、同一サーバへ複数のSSH sessionを張る時に便利です。
設定は、SSHクライアント側の$HOME/.ssh/configに以下の設定を追加するだけです。
# $HOME/.ssh/config ControlMaster auto ControlPath ~/.ssh/master-%r@%h:%p
あとは、通常通りSSH接続するだけです。同一サーバへ新たに接続する場合は、パスワード入力が不要です。
サーバ側でのプロセスは、以下の通りです。
(ControlMaster OFF)
init └─sshd─┬─sshd───sshd───bash └─sshd───sshd───bash
(ControlMaster ON)
init └─sshd───sshd───sshd─┬─bash └─bash
OpenSSH 3.9からの機能のようです。