과거에는 원격 시스템간에 파일을 복사하기 위해 scp
( 순진하게 ) 호출되었을 때 작동 하는 방식 이 매우 불편했습니다.
scp user1@remote1:/home/user1/file1.txt user2@remote2:/home/user2/file1.txt
scp
먼저 ssh
remote1에서 세션을 연 다음 scp
거기에서 remote2로 실행 합니다. 이것이 작동하려면 remote1에서 remote2에 대한 인증 신임 정보를 설정해야합니다.
대신 현대적인 방법은 (몇 년 전만 구현 되었기 때문에 "모두 현대적"이며 아마도 모든 사람이 -3
가능 하지 않기 때문에 scp
) 두 단계가 필요합니다. 첫 번째 필수 단계는 ~/.ssh/config
다음과 같이 remote1 및 remote2에 대한 연결에 대한 모든 옵션을 설정하는 데 사용 됩니다.
Host remote1.example.org
Port 2222
IdentityFile /path/to/host1-id_rsa
Host remote2.example.org
Port 6969
IdentityFile /path/to/host2-id_rsa
이 방법은 명령에 필요한 모든 옵션을 통과 할 수있게된다 모호성없이 : 우리는 CLI의에 말했다 경우 예를 들어, 사용 포트 2222 위의 구성하지 않고, 우리가 할 언급했다 불분명했을 것이다 REMOTE1 하거나 REMOTE 2 , 및 암호화 키가 포함 된 파일도 마찬가지입니다. 이런 식으로 CLI는 깔끔하고 단순하게 유지됩니다.
둘째, -3
다음과 같이 옵션을 사용하십시오 .
scp -3 user1@remote1:/home/user1/file1.txt user2@remote2:/home/user2/file1.txt
이 -3
옵션 scp
은 명령이 발행 된 PC를 통해 트래픽을 라우팅 하도록 지시 합니다 (전송의 제 3 자 임에도 불구하고). 이런 식으로 인증 자격 증명은 발급 PC 인 타사에만 있어야합니다.