![로컬 컴퓨터의 이중 원격 서버에서 파일을 복사하는 방법](https://linux55.com/image/119724/%EB%A1%9C%EC%BB%AC%20%EC%BB%B4%ED%93%A8%ED%84%B0%EC%9D%98%20%EC%9D%B4%EC%A4%91%20%EC%9B%90%EA%B2%A9%20%EC%84%9C%EB%B2%84%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%B3%B5%EC%82%AC%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
내 서버에 내 로컬 컴퓨터에 복사하고 싶은 일부 파일이 있습니다. 문제는 원격 컴퓨터에 직접 연결할 수 없기 때문에 먼저 중간 서버에 연결한 다음 중간 서버를 통해 대상 서버에 연결할 수 있다는 것입니다. 대상 서버에서 로컬 시스템으로 파일을 직접 복사하고 중간 서버를 우회하는 방법이 있습니까?
감사해요
답변1
직항 노선 이용은 불가능할 수 있습니다. 그러나 다음을 사용하여 중간 ssh
장치 에 로그인할 수 있는 경우ssh
로컬 포트 포워딩파일을 로컬 컴퓨터에 복사합니다 scp
. 원격에서 직접 복사하는 것처럼 보이지만 실제로는 중개 장치를 통해 복사본을 터널링하고 있습니다.
두 개의 별도 터미널(명령줄, 셸 등)에서 다음을 시도해 보세요.
터미널 1:
# set up 'local port forwarding'
ssh -v -T -N -L 2222:remote:22 username@intermediate
NO2. 터미널:
# do your scp command(s) like this example
scp -P 2222 localhost:/path/to/file .
적절한 호스트 이름 또는 IP 주소로 대체하십시오.외딴그리고가운데.
scp
명령에는 /path/to/file
원격 서버의 경로가 있습니다.
답변2
포트 전달이 필요하지 않으며 ProxyCommand
다음과 같이 추가 할 수 있습니다 ~/.ssh/config
.
Host some_name
Hostname internal.example.com
User internal_user
ProxyCommand ssh -A -q -l %r -W %h:%p external.example.com
이를 통해 ssh
내부 컴퓨터에서 사용 ssh some_name
, 사용 등을 할 수 있습니다 scp
.