두 개의 연속된 요새 호스트를 사용하여 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
내 사용자 이름은 hostname0
and 이지만 내 사용자 이름 hostname1
은 입니다.username0
hostname2
username2
호스트 이름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
로그인하도록 요청했기 때문에 이는 의미가 있지만 실제로는 내 사용자 이름이 이기 때문에 분명히 작동하지 않습니다 .hostname1
username2
username0
각 경우에 올바른 사용자 이름을 사용하도록 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 *
다시 작동하게 됩니다.