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