SSH 設定で指定された IP 範囲に対して ProxyJump パラメータが継承されないのはなぜですか?

SSH 設定で指定された IP 範囲に対して ProxyJump パラメータが継承されないのはなぜですか?

ジャンプ サーバー (lab1) を使用して、IP が 10.* で始まるサーバーに接続します。他のすべてのサーバーは lab1 をジャンプ サーバーとして使用すべきではなく、別のキーが必要です。

メイン構成には、2 つの構成といくつかの一般的な設定が含まれています。

メインの SSH 設定:

Include ~/.ssh/lab.conf
Include ~/.ssh/prod.conf

Host *
  AddKeysToAgent yes
  UseKeychain yes
  User rg2531
  ForwardAgent yes
  ServerAliveInterval 30
  ServerAliveCountMax 10
  IdentityFile /SSH_keys/prod/id_rsa

ラボ.conf:

Host 10.*
  ProxyJump lab1

# Jump server
Host lab1
  HostName 134.121.15.2
  IdentityFile /SSH_keys/dev/id_rsa

# Individual hosts
Host lab2
  HostName 10.10.10.2

prod.conf:

Host prod1
  HostName 122.140.12.1

lab2 に接続すると、ルールがあるため、ProxyJump を使用してジャンプ サーバー (lab1) 経由で接続する必要がありますHost 10.* が、期待どおりに動作しません。

以下のセクションProxyJump lab1に記述した場合にのみ機能します:Host lab2

Host lab2
  HostName 10.10.10.2
  ProxyJump lab1

なぜProxyJumpパラメータは継承されないのですか?

答え1

使用している名前で機能するためです。 を使用した場合、ssh 10.10.10.2クライアントは構成の ProxyJump 設定を使用します。 ただし ssh lab2、の場合、lab2値が一致しない10.*ため、設定は使用されません。 したがって、継承の問題ではなく、 lab2 の構成が読み込まれ、ホスト名の値が見つかると、ssh は構成を再評価しません。

そのネットワーク上のすべてのコンピューターの10.10.10.*名前が lab* である場合は、次のようにすることができます。

Host lab1
  HostName 134.121.15.2
  IdentityFile /SSH_keys/dev/id_rsa

Host lab* !lab1
  ProxyJump lab1

関連情報