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

관련 정보