SSH 프록시 명령이 작동하지 않는 이유를 이해하려고 합니다. 아래와 같이 사용자 정의 위치에 SSH 구성 파일이 있습니다.
vagrant@ansible:~$ cat ~/.ssh/cml-config
Host mgmt-lxc
HostName 10.17.238.146
IdentityFile ~/.ssh/id_rsa
User Rod
Host 10.255.0.*
ProxyCommand ssh -W %h:%p mgmt-lxc
vagrant@ansible:~$
점프 호스트에 SSH로 연결한 다음 거기에서 다른 장치에 연결할 수 있습니다.
vagrant@ansible:~$ ssh -F ~/.ssh/cml-config mgmt-lxc
Rod@mgmt-8Fe5bN$ ssh [email protected]
Warning: Permanently added '10.255.0.47' (RSA) to the list of known hosts.
,,,,,
/'''\
( o o )
-oOOO--(_)--OOOo-------------------------------------------
Router: Core-1
Secured system for authorized users only.
.oooO Unauthorized access is strictly prohibited.
( ) Oooo. All activities may be logged and monitored.
---\ (----( )--------------------------------------------
\_) ) /
(_/
Password:
그러나 사용자 정의 SSH 키를 사용하여 10.255.0.47에 직접 SSH를 시도하면 오류가 발생합니다.
vagrant@ansible:~$ ssh -F ~/.ssh/cml-config [email protected]
ssh: Could not resolve hostname mgmt-lxc: Name or service not known
ssh_exchange_identification: Connection closed by remote host
vagrant@ansible:~$
저는 Ubuntu Xenial64를 실행하고 있습니다.
답변1
-F /the/path/to/.ssh/cml-config
as로 사용된 ssh -W
명령을 추가합니다 ProxyCommand
(해당 경로가 여기에서 작동할지 확실하지 않으므로 ~
한번 시도해 보십시오. 전체 경로를 사용할 수도 있습니다).
그렇지 않으면 ssh
대화형 명령이 실행되지만 실제 이름 확인이 아니라 구성 파일에서 사용한 별명임을 ssh -W ... mgmt-lxc
확인하기 위해 읽어야 할 구성 파일이 없기 때문입니다.mgmt-lxc
또는 IPv4 mgmt-lxc
주소 /etc/hosts
또는 이에 상응하는 주소를 추가하세요 10.17.238.146
.
아니면 .ssh/config
기본값으로 모든 것을 입력하면 사용법이 단순화됩니다.