第一次使用 scp -r 时,我一直收到错误“主机密钥验证错误”

第一次使用 scp -r 时,我一直收到错误“主机密钥验证错误”

我以前从未使用过 bash 语言(scp -r 是 bash 的一部分吗?),我想将一个 C++ Xcode 文件复制到另一个 IDE(更具体地说是用于机器人控制器)。那个 C++ 文件位于一个文件夹中,我听说您使用scp -r文件夹?所以我尝试使用它: 主机密钥是控制器的 IP 地址,我不太清楚是什么,有人告诉我使用它。scp -r Desktop/oroni-club/gyro.cpp [email protected]:"[path]" "[path]"

我也不断收到此错误:Host key verification failed. lost connection,并且它最终无法将 C++ 文件复制到其他 IDE。

我不确定该怎么做以及如何将 C++ 文件复制到这个其他非 C++ IDE(这个只提供 C 和 Python,但你仍然可以通过终端使用 bash 添加 C++ 文件),我对此完全陌生...

答案1

主机密钥是一个 RSA(或 DSA,或椭圆曲线)公钥,ssh/scp 服务器(运行 sshd 的服务器)通过它向您的 ssh/scp 客户端验证自身身份,因此您知道自己没有连接到冒名顶替的服务器。首次连接到新服务器时,ssh/scp 客户端会询问您是否要接受提供的主机密钥。如果您接受,它将被存储起来,~/.ssh/known_hosts以便将来用于验证该主机。

如果您确定没有遇到中间人攻击或其他冒名顶替者,您可以清除之前为该主机名或 IP 地址缓存的主机密钥,方法是编辑~/.ssh/known_hosts以删除该主机的行,或者您可以使用ssh-keygen -R hostname删除它。如果您始终通过 IP 地址连接,则使用该 IP 地址而不是主机名作为 的参数ssh-keygen -R …

相关内容