![Linux - scp, ssh를 사용하여 서버에서 로컬로 디렉터리를 다운로드합니다.](https://linux55.com/image/126730/Linux%20-%20scp%2C%20ssh%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%84%9C%EB%B2%84%EC%97%90%EC%84%9C%20%EB%A1%9C%EC%BB%AC%EB%A1%9C%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EB%A5%BC%20%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C%ED%95%A9%EB%8B%88%EB%8B%A4..png)
scp
다음 명령을 사용하여 클라우드 서버에서 로컬로 디렉터리를 다운로드하려고 합니다.
scp -i ./.ssh/mykey.pem -r -p [email protected]:/var/lib/mongodb 127.0.0.1:/var/lib/mongod
admin
원격은 당연히 키를 입력해야 하는데 127.0.0.1은 로컬입니다.
하지만 오류 메시지가 나타납니다.
Host key verification failed.
lost connection
SSH를 사용하여 서버에 연결하려고 하면 작동합니다.ssh -i ./.ssh/mykey.pem [email protected]
누구든지 내가 뭘 잘못하고 있는지 지적할 수 있나요?
답변1
로컬 서버에 복사하려면 127.0.0.1:
다음을 수행할 필요가 없습니다.
scp -i ./.ssh/mykey.pem -r -p [email protected]:/var/lib/mongodb /var/lib/mongod
scp 를 사용하여 127.0.0.1:
127.0.0.1의 서버에 대한 또 다른 SSH 연결을 설정하고 두 원격 서버 사이인 것처럼 복사합니다. 127.0.0.1의 SSH 서버가 호스트 키 확인에 실패할 수 있습니다.
답변2
매뉴얼 페이지에서,
scp [-346BCpqrv] [-c 비밀번호] [-F ssh_config] [-i ID 파일] [-l 제한 사항] [-o ssh_options] [-P 포트] [-S 프로그램] [[
user@]host1
:]file1 .. . [user@]host2
:]파일 2
127.0.0.1
따라서 마지막 부분을 사용할 때 scp
이를 로 식별하십시오 host2
. 그러면 scp
ID 파일( )을 기반으로 현재를 사용하여 호스트에 로그인을 시도하고 이에 대한 정보가 없기 때문에 오류를 반환합니다. 그러면 잘 작동할 것입니다.127.0.0.1
username
./.ssh/mykey.pem
host2
$scp -i ./.ssh/mykey.pem -r -p [email protected]:/var/lib/mongodb /var/lib/mongodb
또는
$cd /var/lib/mongodb
$scp -i ./.ssh/mykey.pem -r -p [email protected]:/var/lib/mongodb .