현재 내 로컬 컴퓨터로 전송하려는 파일이 serverB에 있습니다. serverB에 연결하려면 먼저 serverA에 SSH를 연결한 다음 serverB에 SSH를 연결합니다. (예: ssh @serverA, 그런 다음 serverA 내 -> ssh @serverB)
scp를 사용하여 이 작업을 수행하는 가장 좋은 방법이 무엇인지 모르시나요?
답변1
ProxyJump
의 옵션을 사용할 수 있습니다 ~/.ssh/config
. 에서 man ssh
:
-J 목적지
먼저 대상 호스트에 대한 연결을 만듭니다.SSH대상이 설명하는 점프 호스트에 연결한 후 그곳에서 최종 대상으로 TCP 전달을 설정합니다. 여러 점프를 쉼표로 구분하여 지정할 수 있습니다. 지정하는 단축키입니다.프록시 점프구성 지침. 명령줄에 제공된 구성 지시문은 일반적으로 지정된 점프 호스트가 아닌 대상 호스트에 적용됩니다. 점프 호스트의 구성을 지정하려면 ~/.ssh/config를 사용하십시오.
예를 들어 ~/.ssh/config
다음과 같을 수 있습니다.
Host serverA
Port 22
Host serverB
Port 22
ProxyJump serverA
ssh
이것은 항상 serverB에 연결 하도록 지시합니다.통과하다serverA는 정상이고 입니다 ssh
. scp
즉, ssh serverB
또는 를 입력하면 scp serverB:big_file.txt .
ServerA를 통해 라우팅된다는 것을 알 수 있습니다. (그러나 공개 키 인증을 사용하는 경우 serverB에는 필수 키의 로컬 복사본이 필요합니다.)
이를 종종 "점프 호스트"라고 합니다 ssh
. 의 관련 구성 옵션은 ~/.ssh/config
입니다 ProxyCommand
.