
VPNを介して行うほとんどの接続のように、私が作成するほとんどのSSH接続はオープンControlMasterの利点を享受しています。しかし、githubのようにそうでない場所もあります。したがって、 ~/.ssh/config ファイルには次のものがあります。
Host *
ControlMaster auto
ControlPath ~/.ssh/%r,%h,%p
ControlPersist 30m
Host github.com
ControlMaster no
ControlPath none
ControlPersist no
(その他の例外がある可能性があります)
しかし、私が知っている限り(pgrep -fla mux)、muxプロセスはまだ作成されています。
マスター接続を作成しないようにホストごとに構成ファイルを指定する方法はありますか?
答え1
最初の一致パラメータが適用されます。部品の順序を変更します。
Host github.com other-exception.example.com
ControlPath none
Host *
ControlMaster auto
ControlPath ~/.ssh/%r,%h,%p
ControlPersist 30m
これはssh_config
マニュアルページですが明確ではありません。
各パラメータに対して最初に取得された値が使用されます。構成ファイルには、「ホスト」仕様で区切られたセクションが含まれています。このセクションは、仕様で提供されているパターンの1つと一致するホストにのみ適用されます。