github.com 的主机密钥已更改,并且您已请求严格检查。
2023-03-24•2 分钟阅读
我时不时会遇到此错误,因此在此发布解决方案以方便查找:
尝试运行 git pull
后,错误如下所示:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 警告:远程主机标识已更改! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
有可能有人正在对您做坏事!
有人可能正在窃听您(中间人攻击)!
主机密钥也可能刚刚被更改。
远程主机发送的 RSA 密钥的指纹为
SHA256:uNi3ztkACsDhsr0u9e8aljQCVUdKZRDTBc3Cvj3tD2s。
请联系您的系统管理员。
在 /Users/myuser/.ssh/known_hosts 中添加正确的主机密钥以消除此消息。
在 /Users/myuser/.ssh/known_hosts:11 中存在错误的 RSA 密钥 github.com 的主机密钥已更改,并且您已请求严格检查。
主机密钥验证失败。
fatal: 无法从远程存储库读取。
请确保您具有正确的访问权限
并且存储库存在。
解决方案是运行以下命令:
ssh-keygen -R github.com
ssh-keygen -R 命令用于从用户的 known hosts 文件中删除主机的密钥。
当您首次使用 SSH 连接到远程主机(如 github.com)时,其公钥将存储在 known hosts 文件中。这样做是为了确保后续连接中主机的真实性。如果主机密钥发生更改(例如,由于服务器迁移或安全更新),在连接时您可能会遇到警告或错误,因为存储的密钥将与远程主机提供的新密钥不匹配。