2개의 서로 다른 VPN 연결을 통해 두 서버에 모두 액세스할 수 있습니다. 내 컴퓨터에서 두 VPN이 동시에 작동하도록 관리했습니다(일부 라우팅 규칙).
scp <remote1>:some/file <remote2>:destination/folder
내 노트북 단말기에서 하나 만들고 싶습니다 . 하지만 이것을 시도하면 scp
다음 명령이 호출됩니다 .원격 1찾을 수 없음원격 2같은 네트워크에 있지 않기 때문입니다. scp
내 노트북을 라우터로 사용하여 명령을 강제할 수 있나요 ?
노틸러스(서버, 두 서버 모두에 연결한 다음 복사하여 붙여넣기)를 사용해 보면 작동하지만 터미널에서 이 작업을 수행하고 싶습니다.
답변1
최신 버전의 scp에는 -3 옵션이 있습니다.
-삼
Copies between two remote hosts are transferred through the local host. Without this option the data is copied directly between the two remote hosts
답변2
scp -3
평소 보다 더 많은 유연성이 필요하다면 ssh
파이프 방식이 흥미로울 수 있습니다.
이는 로컬 시스템에서 스트림을 리디렉션하는 것과 동일합니다.
ssh sourceRemote 'cat /path/to/sourceFile' \
| ssh destinationRemote 'cat > /path/to/destinationFile'
그런 다음 여러 중간 컴퓨터를 연결하거나 라우팅하는 동안 전송된 파일의 로컬 복사본을 저장하는 등 언제든지 더 많은 스트림 리디렉션을 추가할 수 있습니다.
답변3
@Anko의 답변을 확장하면 tar
여러 파일에 사용할 수 있습니다.
ssh -q user@sourcehost 'cd /source/path; tar -czf - files...' | \
ssh -q user@desthost 'cd /dest/path; tar -xzf -'
압축은 전적으로 선택 사항입니다. 데이터가 압축하기 어렵거나 오버헤드를 감당할 만큼 크지 않을 수 있습니다. 귀하의 버전이 tar
이 스위치를 지원하지 않는 경우 -z
파이프 gzip -c
및 gzip -dc
.
추신: tar
이 버전은 추출 시 선행 슬래시를 제거하지 않습니다(즉, 절대 경로 이름(제공된 경우) 작성).
편집: -e none
의사 터미널이 할당되지 않았기 때문에 파이프가 필요하지 않습니다.