前段时间(时间太长,我已经忘记了细节),我成功地为我的 GitHub 存储库设置了 SSH 身份验证(以及 RStudio 中的相应密钥)。它工作正常。
但最近,由于网站 IP 地址发生变化,它不允许我推送或拉取。我的电脑、路由器、软件等都没有变化。我在网上搜索了一番,找到了一种涉及ssh-keygen
命令的解决方案。
我可以输入“是”,然后一切顺利,我的 GitHub 网站也会正确更新。但我真的不太了解这些东西,我担心我可能以某种方式破坏了它。所以我的问题是:
- 为什么 IP 地址
github.com
和/或其主机密钥突然改变? - 我的安全是否受到任何损害?
- 我该怎么做才能避免这个额外烦人的确认步骤?
答案1
Github 遭遇安全事故,导致其私有 SSH 密钥暴露,并于上周五对其进行了轮换。
更多信息请点击这里:https://www.bleepingcomputer.com/news/security/githubcom-rotates-its-exposed-private-ssh-key/
此更改导致主机密钥根据新私钥重新生成。由于 github 的 known_hosts 条目与服务器现在向您提供的主机密钥不匹配,因此您会看到此错误,警告您可能未连接到您认为的系统。
至于如何清理已知主机问题,这取决于您的 OS/SSH 客户端。对于 windows/openSSH,请参见此处:Windows 版 OpenSSH 的 known_hosts 文件在哪里?
对于 Linux,请参见此处:https://www.howtouselinux.com/post/ssh-known_hosts-file
只需删除 github 的现有条目,并在下次连接时接受新的主机密钥以停止确认提示。