ssh_configに条件付きで含まれる

ssh_configに条件付きで含まれる

ベースssh_config(5)ステートメントまたはブロック内にInclude配置して条件付きインクルードを生成できます。MatchHost

含む:指定された構成ファイルを含みます。複数のパス名を指定でき、各パス名にはglob(7)ワイルドカード文字を含めることができ、ユーザー設定の場合はユーザー~ホームディレクトリへのシェルなどの参照を含めることができます。ワイルドカードは語彙順に展開され処理されます。絶対パスを持たないファイルは、~/.sshユーザープロファイルに含まれているかシステムプロファイルに含まれている/etc/sshと見なされます。インクルードディレクティブは、実行のためにMatchまたはHostブロック内に表示できます。条件付き

私はこれをやろうとしていますが、いつも見つかった一致を無視して、含まれているすべてのファイルを読むようです。どうしたの?

$ ssh -V
OpenSSH_8.0p1, OpenSSL 1.1.1k  FIPS 25 Mar 2021

$ cat config_1
Match user foo
  Include config_2
Match user bar
  Include config_2
Match user !foo,!bar
  Hostname xyz

$ cat config_2
Hostname uvw

$ ssh -vv -G -F config_1 bar@random | grep '^hostname'
OpenSSH_8.0p1, OpenSSL 1.1.1k  FIPS 25 Mar 2021
debug1: Reading configuration data config_1
debug2: checking match for 'user foo' host random originally random
debug2: match not found
debug1: Reading configuration data ~/.ssh/config_2                    << unmatched include
debug2: checking match for 'user bar' host random originally random
debug2: match found
debug1: Reading configuration data ~/.ssh/config_2                    << matched include
debug2: checking match for 'user !foo,!bar' host uvw originally random
debug2: match not found
hostname uvw

ベストアンサー1

おすすめ記事