다른 호스트로 점프하여 원격에서 로컬로 scp를 전송하는 구문은 무엇입니까?

다른 호스트로 점프하여 원격에서 로컬로 scp를 전송하는 구문은 무엇입니까?

원격 서버에서 로컬 서버로 파일을 복사하려고 하는데, 원격 서버에서는 먼저 중간 호스트에 연결한 다음 거기에서 실제 서버로 이동해야 합니다. scp 명령을 사용하여 원격 서버에서 로컬 컴퓨터로 파일을 복사하기 위해 이 점핑 기술을 사용하는 방법을 알고 싶습니다.

그래서 먼저 중간 서버에 연결해야 하고 거기에서 실제 서버에 연결하려고 합니다.

답변1

ProxyJump최신 버전의 SSH를 사용하면 최소한 키를 설정하는 경우 SSH 개념을 사용하는 것이 매우 쉽습니다 .

이 3개의 머신을 L, I, R(각각 로컬, 중간, 원격)이라고 부르겠습니다. 처음에는 사용자 이름이 모두 동일하다고 가정합니다.

그러면 필요한 명령은 다음과 같습니다.

scp -oProxyJump=I R:remote_file localfile

사용자 이름이 다른 경우 I를 로 바꾸고 user@IR을 로 바꿉니다 user@R.

SSH를 사용하는 경우 명령은 다음과 같습니다.

ssh -J [user@]I [user@]R 

답변2

프록시를 포함하도록 SSH 구성을 편집하면 됩니다. scp는 원격 연결에 SSH를 사용하므로 SSH 구성만 편집하면 됩니다. "중간 서버"를 프록시로 사용하십시오.

파일에 다음과 같은 내용을 추가하세요 ~/.ssh/config.

Host target.machine
  User          targetuser
  HostName      target.machine
  ProxyCommand  ssh [email protected] nc %h %p 2> /dev/null

scp그런 다음 원격 서버에 직접 연결하는 것처럼 사용하십시오.

크레딧이 필요한 곳에 크레딧을 제공하기 위해 다음을 포함합니다.여기.

관련 정보