내 서버에 내 로컬 컴퓨터에 복사하고 싶은 일부 파일이 있습니다. 문제는 원격 컴퓨터에 직접 연결할 수 없기 때문에 먼저 중간 서버에 연결한 다음 중간 서버를 통해 대상 서버에 연결할 수 있다는 것입니다. 대상 서버에서 로컬 시스템으로 파일을 직접 복사하고 중간 서버를 우회하는 방법이 있습니까?
감사해요
답변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
.