github 解决推拉代码提示 REMOTE HOST IDENTIFICATION HAS CHANGED 失败
1. 背景
在拉取github上一个新项目的时候爆出 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
第一反应是电脑被黑了,传说中的中间人攻击(题外话一下,其实所有的代理软件都算是中间人哦~),稍微检查了一下,应该不是。仔细看内容,有点意思。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is SHA256:uNiVztksCsDhcc0u9e8BujQXVUpKZIDTMczCvj3tD2s. Please contact your system administrator. Add correct host key in /c/Users/lindexi/.ssh/known_hosts to get rid of this message. Offending RSA key in /c/Users/lindexi/.ssh/known_hosts:2 Host key for github.com has changed and you have requested strict checking. Host key verification failed. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
法1:
ssh-keygen -R github.com
- 命令行删除旧的github公钥
ssh-keygen -R github.com
- 然后直接继续拉代码就行了,需要重新信任一下github的fingerprint
法2:
最简单的方式就是删除上面提到的 known_hosts
文件,例如我的文件是 /c/Users/lindexi/.ssh/known_hosts
路径,直接使用 rm 命令删除,代码如下
rm /c/Users/lindexi/.ssh/known_hosts
还请在你电脑上执行以上命令的时候,替换为你自己的电脑上的路径
The authenticity of host 'github.com (20.205.243.166)' can't be established. ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])?
执行完成之后,重新推拉代码,可以看到提示信息,只需要输入 yes 回车即可
以上步骤就是在将 github 添加到 known_hosts
文件里
也就是下一次推拉代码就不需要再次执行以上步骤
为什么有这样的事情呢?这是因为在 2023.03.24 更换了 GitHub 的 RSA 的 Key 值。因为 GitHub 团队发现自己的 Key 泄露了。
详细请看 We updated our RSA SSH host key The GitHub Blog
声明 欢迎转载,但请保留文章原始出处:) 博客园:https://www.cnblogs.com/chenxiaomeng/
如出现转载未声明 将追究法律责任~谢谢合作