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
복사되기 때문에 도달할 수 있는 호스트를 지정해야 합니다 .remoteA
remoteB
이를 방지하려면 옵션을 사용할 수 있습니다 -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/