更换服务器后执行git fetch遇DNS欺骗警告,如何解决?
解决Git主机密钥变更引发的Host Key Verification Failed问题
是的,核心思路就是更新本地存储的远程主机SSH密钥,但直接添加新密钥之前,最好先移除旧的冲突条目——毕竟你的known_hosts文件里还存着原服务器的密钥,新旧密钥冲突才触发了这个安全警告。
具体操作步骤:
第一步:移除旧的冲突主机密钥
打开终端,执行以下命令删除known_hosts里对应域名的旧密钥:ssh-keygen -R example.net这个命令会自动定位并删除
/c/Users/[username]/.ssh/known_hosts中与example.net相关的旧密钥条目,避免后续冲突。第二步:验证并添加新的主机密钥
直接重新执行你原来的命令:git fetch [remote repository]这时候终端会弹出新的主机密钥指纹提示,一定要确认这个指纹和新服务器管理员提供的一致(这步是为了排除中间人攻击风险),输入
yes确认后,新的密钥就会自动添加到known_hosts里,问题就能解决了。如果你想手动添加密钥,也可以用以下命令直接获取并写入
known_hosts:ssh-keyscan example.net >> ~/.ssh/known_hosts同样,执行前请务必核对获取到的密钥指纹是否正确。
额外提醒:
这个警告是Git的安全防御机制,专门用来防范中间人攻击,所以在确认密钥变更是你自己更换服务器导致的之前,不要轻易跳过指纹验证步骤哦。
内容的提问来源于stack exchange,提问作者Jaime Montoya
相关产品推荐
相关产品推荐

