私はそれを使用しています
ControlMaster auto
ControlPath ~/.ssh/tmp/%l_%r@%h:%p
内部では、~/.ssh/config
SSHを介してホストにアクセスすると、同じ接続を使用して複数のセッションが開きます。
これはほとんどのユースケースでうまく機能しますが、IPv4とIPv6を介して同時に同じホスト名に接続することはできません。他のすべての接続はIPv4とIPv6をControlPath
区別できないため、最初の接続で作成された制御ソケットを使用します。 IPv6接続。
IPv4およびIPv6接続に別々の制御ソケットを提供する方法はありますか(おそらく、ソケットパスでリモートホスト名の代わりにリモートIPを使用する方法を見つけること)。
編集#1
Match
私はちょうどファイルで利用可能なオプションを覚えて、次のことを試しました。ssh_config
sshd_config
Match AddressFamily inet
ControlPath ~/.ssh/tmp/%l_%r@%h:%p.inet
Match AddressFamily inet6
ControlPath ~/.ssh/tmp/%l_%r@%h:%p.inet6
残念ながら、これは失敗します。」一致プロパティ AddressFamily はサポートされていません。「ホストに接続しようとすると、もう一度原点に戻ります...
ベストアンサー1
これは一般的なユースケースではないため、これを行う直接的な方法はありません。ただし、あまりにも多くのリモートホストが必要ない場合は、ユーザープロファイルを使用してこの問題を解決できます。
Host hostname-4
Hostname hostname
AddressFamily inet
ControlPath ~/.ssh/master4-%l%h%p%r
Host hostname-6
Hostname hostname
AddressFamily inet6
ControlPath ~/.ssh/master6-%l%h%p%r