SCP 사본을 한 컴퓨터에서 다른 컴퓨터로 전송하는 방법은 무엇입니까?

SCP 사본을 한 컴퓨터에서 다른 컴퓨터로 전송하는 방법은 무엇입니까?

A, B, C 세 대의 컴퓨터가 있다고 가정합니다.

  • 머신 A는 어떤 네트워크에서도 머신 B에 액세스할 수 없으므로 둘 사이에 파일을 보낼 수 없습니다.
  • 하지만 A와 B는 C(내 컴퓨터)에서 연결할 수 있습니다.

오늘은 대용량 파일을 A에서 B로 복사하고 싶습니다.

현재는 먼저 A에서 C로 복사한 다음 C에서 B로 복사해야 합니다. scp들어오는 데이터를 중간에 저장하지 않고 대상 컴퓨터에 연결하거나 파이프하는 방법이 있습니까 ?

답변1

man scp썼다(강조)

-3두 원격 호스트 간에 복사본 전송로컬호스트를 통해. 이 옵션이 없으면 데이터가 두 원격 호스트 간에 직접 복사됩니다. [...]

따라서 필요한 것은 로컬 시스템을 통해 라우팅되는 복사 명령입니다(저는 -p타임스탬프와 권한을 보존하기 위해 거의 항상 를 포함하므로 여기서도 그렇게 합니다).

scp -3p serverA:path/to/file(s) serverB:/path/to/destination

최신 버전 scp에는-3 기본적으로 활성화됨2021년 8월 9일부터 이를 비활성화하려면 이제 를 지정해야 합니다 -R. 이 타사 복제 기능을 사용하면 scp두 호스트 모두 암호 및 비밀번호를 요청할 수 없으므로 암호 문구 및 비밀번호에 대한 프롬프트가 비활성화됩니다.

답변2

scp user1@A:from_file user2@B:to_file그러면 문제가 해결될 것입니다. 읽다 man scp.

관련 정보