我正在尝试通过 ssh 将文件从一台计算机复制到另一台计算机。两台机器都是 Ubuntu 服务器。两台机器都交换了密钥,以便无需密码即可相互登录。
我的命令如下所示(当然,出于隐私原因更改了详细信息):
scp -i /var/www/place/.ssh/id_rsa file.tar.gz [email protected]:directoryName/file.tar.gz
但是,每次运行它时,我都会收到此错误:
Could not create directory '/var/www/.ssh'.
Host key verification failed.
lost connection
该命令似乎scp
正在尝试创建一个名为 的.ssh
上一级目录place
。
这里发生了什么? scp 是否需要创建某种临时目录才能执行?
运行该命令的用户帐户在 /var/www/place 中具有读/写权限,但在 /var/www 中没有读/写权限,那么如何运行此 scp 命令呢?
(请注意,我对 Linux 命令行的经验不是很丰富,所以请让答案冗长而简单。感谢您的理解。)
答案1
该问题与您设置的公钥身份验证无关。除了您的私钥和公钥之外,SSH 还会将您连接到的每个主机的主机密钥存储在 ~/.ssh 目录中名为known_hosts 的文件下。您看到的错误来自 SSH 最初创建此文件的尝试。