【Git远程主机的身份已更改】更新了SSH 密钥后的处理

解决 GitHub SSH 主机密钥变化问题

在使用 Git 时,尤其是与 GitHub 进行 SSH 连接时,可能会遇到一个常见的错误消息,提示“远程主机标识已更改”。这种情况通常发生在 GitHub 的主机密钥发生变化时,系统无法验证新的密钥是否合法,从而阻止了与 GitHub 的连接。

错误消息示例

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 ED25519 key sent by the remote host is
SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
Please contact your system administrator.
Add correct host key in /c/Users/21725/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /c/Users/21725/.ssh/known_hosts:1
Host key for github.com has changed and you have requested strict checking.
Host key verification failed.
fatal: Could not read from remote repository.

这个错误的意思是 GitHub 的 SSH 主机密钥发生了变化,导致验证失败。通常情况下,这种情况发生是因为 GitHub 更新了其 SSH 密钥,或者是你的 known_hosts 文件中存储的密钥信息已经过时。

解决方案

1. 删除旧的 GitHub 主机密钥

首先,解决这个问题的方法是从 known_hosts 文件中删除过时的 GitHub 主机密钥。你可以手动打开该文件并删除第一行,或者使用以下命令来自动删除:

ssh-keygen -R github.com

该命令会从 ~/.ssh/known_hosts 文件中删除 GitHub 的主机密钥。

2. 重新连接 GitHub

删除旧的密钥后,接下来你需要重新连接到 GitHub,系统会提示你确认新的主机密钥。运行以下命令来测试 SSH 连接:

ssh -T git@github.com

你将看到如下提示:

The authenticity of host 'github.com (140.82.113.4)' can't be established.
ED25519 key fingerprint is SHA256:+DiYXXXXXX
Are you sure you want to continue connecting (yes/no)?
3. 确认新的密钥

系统会提示你确认 GitHub 的新主机密钥。输入 yes 以继续连接,并将新的主机密钥添加到 known_hosts 文件中。

Warning: Permanently added the ED25519 host key for IP address '140.82.113.4' to the list of known hosts.

结论

按照以上步骤,你应该能够成功解决“远程主机标识已更改”问题。此问题的根本原因是 GitHub 更新了其主机密钥,而你的 SSH 客户端保存了过时的密钥信息。删除过时的密钥并确认新的密钥是解决此问题的正确方法。

如果你在执行这些步骤时遇到任何问题,欢迎在评论区留言,我会尽快为你提供帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aq_Seabiscuit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值