当您尝试推送更改时,如何删除 git 中有问题的密钥?

当您尝试推送更改时,如何删除 git 中有问题的密钥?

我进行了大量搜索并测试了不同的解决方案,但都没有成功!

当我想要推送我的代码时,收到以下错误:

Warning: the ECDSA host key for 'git.mywebsite.ir' differs from the key for the IP address '164.138.23.11'
Offending key for IP in /home/alireza/.ssh/known_hosts:10
Matching host key in /home/alireza/.ssh/known_hosts:1
Are you sure you want to continue connecting (yes/no)? yes

每次推送更改时,我应该怎么做才能删除此消息?有什么想法吗?

密钥列表

答案1

它说:

/home/alireza/.ssh/known_hosts 中 IP 的违规密钥:10

因此,出于某种原因,你必须删除第十known_hosts 中的行。

运行此命令删除known_hosts中的第10行:

sed -i '10d' ~/.ssh/known_hosts

或者使用ssh-keygen

ssh-keygen -R git.mywebsite.ir

引自 男人

 -R hostname
         Removes all keys belonging to hostname from a known_hosts file.
         This option is useful to delete hashed hosts (see the -H option
         above).

答案2

当我收到消息时:

/home/myusername/.ssh/known_hosts 中 IP 的违规密钥:12

注意行号 - 就我而言 -12

因此打开“known_hosts”文件并删除12-扔。

对我来说,这解决了这个问题。

注意,如果你找不到 .ssh 文件夹 -.ssh文件夹是隐藏的,为了从文件管理器中看到它 - 您必须“显示隐藏文件和文件夹”。在 Linux Mint 中(也可能在您的发行版中)在文件管理器中 - 有一个快捷方式可以显示/隐藏隐藏文件夹 -> Ctrl+H

干杯

答案3

您必须编辑您的 known_hosts 文件(位于 ~/.ssh/known_hosts)并删除与该地址相关的条目。

相关内容