我重新安装了我的服务器,我收到这些消息:

[user@hostname ~]$ ssh root@pong
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 RSA key sent by the remote host is
6e:45:f9:a8:af:38:3d:a1:a5:c7:76:1d:02:f8:77:00.
Please contact your system administrator.
Add correct host key in /home/hostname /.ssh/known_hosts to get rid of this message.
Offending RSA key in /var/lib/sss/pubconf/known_hosts:4
RSA host key for pong has changed and you have requested strict checking.
Host key verification failed.

我尝试了在网上找到的各种解决方案。我的known_hosts文件(通常在~/.ssh/known_hosts中)在/var/lib/ss /pubconf/known_hosts中。我试图编辑它,但它仍然是一个状态。我已经安装了ipa-client和Fedora 19。如何解决此警告?

到目前为止回答的所有答案都只适用于没有安装Freeipa的情况。

下面adrin的评论中关于freeipa的正确答案在这里。


当前回答

有时,如果出于某种原因,您需要重新安装服务器,当通过ssh连接时,我们会发现您的服务器说标识已更改。 如果我们知道这不是攻击,而是我们已经恢复了系统,我们可以使用ssh-keygen从known_hosts中删除旧的标识:

ssh-keygen -R <host/ip:hostname>
root/.ssh/known_hosts updated.
Original contents retained as /root/.ssh/known_hosts.old

再次连接时,我们将要求您验证新指纹:

ssh -l user <host/ip:hostname>
The authenticity of host '<host/ip:hostname>' can't 
be established.
RSA key fingerprint is 3f:3d:a0:bb:59:24:35:6d:e5:a0:1a:3f:9c:86:81:90.
Are you sure you want to continue connecting (yes/no)? yes

其他回答

我的UBUNTU (linux)解决方案:

1.你必须删除known_hosts文件中的内容,该文件位于/home/YOUR_USERNAME/.ssh/known_hosts

2.生成一个新的ssh密钥,如"ssh-keygen -t rsa -C "your.email@example.com" -b 4096"

3.复制粘贴您的新的ssh密钥到您的git存储库(在我的情况下是gitlab) ssh密钥。

这对我很管用!

只有客户端问题(ip密钥重复):

解决变量:

对于clear one ip(默认端口22):

ssh-keygen -f -R 7.7.7.7

对于单个ip(非默认端口):

ssh-keygen -f -R 7.7.7.7:333

快速清除所有ip:

cd ~; rm .ssh/known_hosts

7.7.7.7 - SSH您的服务器IP连接

333 -非标准端口

只做:

cd /home/user/.Ssh / ->这里user将是您的用户名,例如/home/jon/。

然后

Gedit known_hosts &并删除其中的内容。

现在再次使用ssh,它应该可以工作。

这里有一个最简单的解决方案:

ssh-keygen -R <host>

例如,

ssh-keygen -R 192.168.3.10

从ssh-keygen手册页:

-R hostname从known_hosts文件中删除属于hostname的所有密钥。此选项用于删除散列主机(请参阅上面的-H选项)。

我在Windows 10中使用PowerShell进行ssh。 我的问题在Windows目录:C:\Users\youruser\.ssh 删除该目录中的known_hosts文件以忘记旧值。

您也可以使用文件资源管理器来定位和删除文件。