답변1
이는 다음을 통해 서버 B ssh
에 액세스할 수 ssh
있는 scp
경우에도 완벽하게 작동합니다.sftp
ssh -t $SERVER_A ssh $SERVER_B
이 옵션은 반대쪽 끝에서 단일 명령을 실행하는 경우에도 -t
의사 터미널이 할당되도록 강제합니다 . ssh
의사 터미널이 필요하기 때문에 이는 유용합니다 .
두 개의 중첩된 인스턴스를 사용하고 있으므로 ssh
내부 세션의 이스케이프 문자는 Enter ~ ~(두 개의 물결표)입니다. 물결표는 첫 번째 쉘로 이스케이프를 보냅니다.
답변2
ssh
포트 전달을 사용하는 것 외에는 이를 수행할 수 있는 기본 제공 방법이 없습니다.
그러나 아주 잘 작동하는 한 가지 방법이 있습니다. 바로 SSH ProxyCommand
설정입니다. 이를 호스트별로 지정 ~/.ssh/config
하고 이를 사용하여 원격 SSH 포트에 연결하기 위해 실행할 명령을 지정할 수 있습니다.
여러 호스트에서 이것을 사용하고 있습니다.
host serverB.example.com serverB
ProxyCommand /usr/bin/ssh serverA.example.com /usr/bin/nc %h %p
ssh(1)
자세한 내용은 매뉴얼 페이지를 참조하고 패키지 nc(1)
에서 netcat
연결을 전달하는 데 사용한 명령을 참조하십시오 . (그러나 TCP 연결을 설정하고 이를 통해 표준 입력 및 출력을 전달하는 모든 것을 사용할 수 있습니다.)