SSH 구성에서 지정된 IP 범위에 대해 ProxyJump 매개변수가 상속되지 않는 이유는 무엇입니까?

SSH 구성에서 지정된 IP 범위에 대해 ProxyJump 매개변수가 상속되지 않는 이유는 무엇입니까?

점프 서버(lab1)를 사용하여 IP가 10.*으로 시작하는 서버에 연결합니다. 다른 모든 서버는 lab1을 점프 서버로 사용해서는 안 되며 다른 키가 필요합니다.

기본 구성에는 두 가지 구성과 일부 일반 설정이 포함되어 있습니다.

기본 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

lab.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

param이 상속되지 않는 이유는 무엇 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

관련 정보