scp 원격A:파일 원격B:

scp 원격A:파일 원격B:

scp를 사용하면 파일을 얻을 수 있습니다

 scp remoteA:file .

그리고 파일을 넣어주세요

 scp file remoteB:

하지만 내가 시도할 때

 scp remoteA:file remoteB:

나는 얻다

ssh: Could not resolve hostname remoteB: Name or service not known
lost connection

왜?

편집하다:

원격A 및 원격B 설명은 ~/.ssh/config에 있습니다.

답변1

scp 자체와 관련이 없을 가능성이 높지만 한 호스트에서 다른 호스트로의 일종의 이름 확인입니다. 고려해야 할 또 다른 사항은 인증입니다. A에서 B까지 암호가 없는 키 인증을 사용하는 것이 가장 좋습니다. 호스트의 .ssh/config에서 이러한 호스트를 정의하고 있습니까? scp가 해당 정의를 찾지 못합니다. 호스트의 실제 fqdn을 시도하면 호스트 정의에 문제가 있으면 제대로 작동할 것입니다. 또한 -v를 사용하여 오류에 대한 자세한 내용을 찾을 수 있는지 확인하세요.

답변2

에서 으로 직접 remoteA복사되기 때문에 도달할 수 있는 호스트를 지정해야 합니다 .remoteAremoteB

이를 방지하려면 옵션을 사용할 수 있습니다 -3. man scp그것이하는 일을 말합니다 :

두 원격 호스트 간의 복사본은 로컬 호스트를 통해 전송됩니다. 이 옵션이 없으면 데이터는 두 원격 호스트 간에 직접 복사됩니다. 이 옵션은 진행률 표시기를 비활성화합니다.

답변3

scp가 로컬 파일이 확인할 수 없는 호스트 이름이라고 비난하기 때문에 여기에 온 사람들을 위해(다른 소스)이름이나 서비스를 알 수 없음), 와 같은:

> scp archive_2017-03-01-09:54:02.tar.gz backupserver:/var/backups/
ssh: Could not resolve hostname archive_2017-03-01-09:54:02.tar.gz: Name or service not known

해결 방법:

> scp ./archive_2017-03-01-09:54:02.tar.gz backupserver:/var/backups/

관련 정보