요새 호스트와 다른 사용자 이름을 사용하는 SSH

요새 호스트와 다른 사용자 이름을 사용하는 SSH

두 개의 연속된 요새 호스트를 사용하여 Linux 서버에 로그인하고 싶습니다. 내 .ssh/config파일은 다음과 같습니다.

Host *
  User username0
Host hostname0
  Hostname foo
Host hostname1
  Hostname bar
  Port 0
  ProxyCommand ssh -W %h:%p hostname0
Host hostname2
  User username2
  Hostname bat
  Port 1
  ProxyCommand ssh -W %h:%p hostname1

내 사용자 이름은 hostname0and 이지만 내 사용자 이름 hostname1은 입니다.username0hostname2username2

호스트 이름0 및 호스트 이름1에 대한 항목이 예상대로 작동합니다. 그러나 항목은 hostname2해당 User옵션을 무시하는 것 같습니다.

ssh hostname2결과적으로 다음이 표시됩니다.

username0@hostname2's password:

호스트 이름2의 ProxyCommand를 ssh -l username2 -W %h:%p hostname1다음으로 변경하면 사용자 이름2@호스트 이름1의 비밀번호를 입력하라는 메시지가 표시됩니다. 로 username2@hostname1's password 로그인하도록 요청했기 때문에 이는 의미가 있지만 실제로는 내 사용자 이름이 이기 때문에 분명히 작동하지 않습니다 .hostname1username2username0

각 경우에 올바른 사용자 이름을 사용하도록 SSH를 어떻게 구성합니까?

답변1

다른 블록 순서를 사용하십시오 Host. Host *모든 항목 과 일치하며 ssh_config이미 저장된 항목을 덮어쓰지 않습니다.

Host hostname0
  Hostname foo
Host hostname1
  Hostname bar
  Port 0
  ProxyCommand ssh -W %h:%p hostname0
Host hostname2
  User username2
  Hostname bat
  Port 1
  ProxyCommand ssh -W %h:%p hostname1
Host *
  User username0

끝까지 이동하면 Host *다시 작동하게 됩니다.

관련 정보