SSH는 터널을 사용하여 호스트에 연결합니다.

SSH는 터널을 사용하여 호스트에 연결합니다.

하나의 명령을 사용하여 호스트에서 호스트로 직접 ssh연결하고 싶습니다 A.Cssh

+---+       +---+       +---+
| A |   ->  | B |   ->  | C |
+---+       +---+       +---+

호스트는 A호스트에 액세스하기 위한 키로 구성되었습니다 B( ssh BA에서 실행하면 작동함).

호스트는 B호스트에 액세스하기 위한 키로 구성되었습니다 C( ssh CB에서 실행하면 작동함).

호스트 A사용자 이름은 다음과 같습니다. daniel 호스트 B사용자 이름은 다음과 같습니다 ubuntu . 호스트 C사용자 이름은 다음과 같습니다.ubuntu

호스트는 B이름 C이 아닌 IP 주소로 참조됩니다.

가능합니까? 어떻게?

답변1

다음과 같이 명령줄에서 직접 이 작업을 수행할 수 있습니다.

ssh -A -t ubuntu@hostB ssh -A hostC

또는 "$HOME"/.ssh/config파일에 다음 줄을 추가하고 ssh hostC일반적인 방법으로 호출하세요.

Host hostB
        User ubuntu

Host hostC
        User ubuntu
        ProxyCommand ssh -q hostB nc -q0 %h %p

귀하의 시나리오에서는 IP 주소로 참조 hostB되며 hostC해당 IP 주소를 적절한 위치에 배치하면 됩니다. (현장 ubuntu@hostB에 있어야 할 수도 있습니다 ProxyCommand.)

자세한 내용은 기사에서투명한 멀티홉 SSH

관련 정보