[server] 추가 ssh 명령없이 SSH 구성을 사용하여 jumphost를 통해 직접 대상에 SSH하는 방법

만약 내가한다면:

ssh -J jumphost.example.com target.example.com

나는 즉시 ‘target’에 로그온했습니다.

이 ssh 구성 파일을 사용하는 경우 최신 ssh-7.3 jump 구성을 사용하십시오.

Host jump 10.1.*, targets*, *.example.com
  HostName jumphost.example.com
  IdentitiesOnly yes
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

‘target’이 아닌 ‘jumphost’에 로그인했습니다.

그것들은 Mac 용이며, 그것 없이는 테스트했으며 아무런 차이가 없지만 단지 경우에 대비하여 남겨 둘 것이라고 생각했습니다.



답변

구성에서 지정한 호스트 이름을 무시하고 점프 호스트에 로그인하도록 명시 적으로 지정하기 때문에 점프 호스트에 로그인하게됩니다.

  HostName jumphost.example.com

HostName 명령 행에 지정된 호스트 이름을 대체합니다.

ssh 명령 행에서 점프 호스트를 지정하지 않고 자동으로 점프 호스트를 사용하려는 경우 올바른 구성 파일 옵션은 ProxyJump입니다. 예를 들면 다음과 같습니다.

Host everything, behind, jumphost, *.example.com
  ProxyJump jumphost.example.com

이제 당신은 그냥 실행할 수 ssh target.example.com있고 당신은 jumphost를 통해 갈 것입니다.


답변

문제는 호스트 정의가 jumphost.example.com과 target.example.com을 모두 별칭으로 잡은 다음 두 경우 모두 HostName을 jumphost.example.com으로 설정한다는 것입니다.

호스트 명령 다음에 별칭을 정규화되지 않은 도메인 이름으로 만든 다음 각각에 대해 호스트 항목을 생성하는 것이 좋습니다.


답변