Linux - Scp,使用ssh从服务器下载目录到本地

Linux - Scp,使用ssh从服务器下载目录到本地

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

使用127.0.0.1:, scp 与 127.0.0.1 处的服务器建立另一个 SSH 连接,并且就像在两个远程服务器之间进行复制一样。位于 127.0.0.1 的 SSH 服务器可能无法通过主机密钥验证。

答案2

从手册页来看,

scp [-346BCpqrv] [-c 密码] [-F ssh_config] [-i 身份文件] [-l 限制] [-o ssh_选项] [-P 端口] [-S 程序] [[ user@]host1:]file1 ... [[ user@]host2:]文件2

因此,当您使用127.0.0.1最后一部分时,scp请将其识别为host2.因此,然后将尝试根据身份文件( )使用 currentscp登录主机并返回错误,可能是因为没有有关 的信息。所以只要遵循就可以正常工作,127.0.0.1username./.ssh/mykey.pemhost2

$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 .

相关内容