为什么 SCP 会失败并显示“无法确定主机的真实性”,但 SSH 可以运行?

为什么 SCP 会失败并显示“无法确定主机的真实性”,但 SSH 可以运行?

我以前见过有人问过这个问题,但答案似乎总是缺乏一些针对性。我无法将一些用户界面文件从我自己的机器移动到我的服务器上,该服务器位于装有 Ubuntu 20.04 的 Digital Ocean Droplet 上。我可以通过 SSH 顺利连接到我的服务器。我配置了一个非 root 用户,并且我的机器的公共 RSA 密钥位于服务器上的 .ssh/authorized_keys 中。

但是,当我尝试使用 SCP 将文件从本地计算机传输到服务器时

sudo scp -rv path/to/folder user@<ip>:/var/www/html

我收到回复

The authenticity of host <ip> can't be established.
ECDSA key fingerprint is <fingerprint>.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

这是说 ECDSA 密钥指纹不匹配。我还没有配置 ECDSA 密钥。SCP 的默认行为是使用 ECDSA 吗?我甚至尝试添加 -i 标志来直接指定身份文件(我机器上的私有 RSA 密钥),但它对结果没有任何影响。

有些答案提到第一次连接到服务器时会发生这种情况。但是,我以前曾通过 SSH 连接到过此服务器。使用 SCP 时是否不同,即这算作第一次连接吗?

答案1

不要使用sudo- 即使您以 root 身份连接到远程服务器,也很少需要使用连接到远程服务器的命令。在我看来,只有当您想传输不属于普通用户或所属组的文件或运行需要 root 的sudo自定义文件时,才需要 sudo。ProxyCommand

相关内容