我已经重新安装我的服务器和我得到的消息:
[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/sss/pubconf/known_hosts
。 我试着编辑它,但它会保持一种状态。 我已经安装ipa的客户端 ,并有Fedora的19.我如何解决此警告?
所有的答案回答,到目前为止只有当没有安装你Freeipa工作。
正确的答案,从adrin下面的评论freeipa 这里 。
Answer 1:
这是最简单的解决方案
ssh-keygen -R <host>
例如,
ssh-keygen -R 192.168.3.10
从ssh-keygen
手册页 :
-
-R hostname
删除所有属于从known_hosts文件到主机名的所有密钥。 此选项删除散列主机是非常有用(见上文-H选项)。
Answer 2:
使用
ssh-keygen -R hostname
用一个IP地址,例如/主机名是:
ssh-keygen -R 168.9.9.2
这将更新您的主机从known_hosts中违规
Answer 3:
我后,我重新创建一个数字海洋Ubuntu的图像会出现同样的错误。 我用下面的命令我的服务器IP代替[IP_ADDRESS]
ssh-keygen -R [IP_ADDRESS]
Answer 4:
当您重新安装服务器其身份的变化,你会开始得到这个消息。 SSH有没有办法知道是否已经改变了它连接到,或服务器中的中间人已被添加到您的网络嗅探的所有通信服务器的方式 - 所以它带来给你的关注。
通过简单地删除相关条目删除known_hosts的关键:
sed '4d' -i /var/lib/sss/pubconf/known_hosts
该4d
是该帐户的Offending RSA ...known_hosts:4
Answer 5:
大锤是清除所有已知主机一举:
rm ~/.ssh/known_hosts
我碰到这个,因为我们使用的短命服务器的小型子网从跳框,经常有问题,共享相同的SSH密钥服务器的内部IP地址重用。
Answer 6:
问题是,你以前接受的SSH连接到远程计算机和远程计算机的数字指纹或SHA256哈希键已经改变,因为你上次连接。 因此,当您尝试再次SSH或使用github上拉的代码,它也使用SSH,你会得到一个错误。 为什么? 因为你像以前一样使用相同的远程计算机的地址,但在远程计算机与不同的指纹响应。 因此,它可能是有人欺骗你以前连接到计算机。 这是一个安全问题。
如果你是100%肯定的是,远程计算机没有受到损害,黑客攻击,被欺骗等那么所有你需要做的就是删除远程计算机known_hosts文件中存在的条目。 这将解决这一问题,因为将不再有SHA256指纹ID的不匹配连接时。
在Mac这里就是我所做的:
1)找到输出行读取RSA host key for servername:port has changed and you have requested strict checking.
您必须同时从日志输出的服务器名和潜在端口。
2)备份的SSH已知主机文件cp /Users/yourmacusername/.ssh/known_hosts /Users/yourmacusername/.ssh/known_hosts.bak
3)找到所在计算机的旧指纹存储在行并将其删除。 您可以搜索使用步骤#1的服务器名和端口的具体问题的远程计算机指纹。 nano /Users/yourmacusername/.ssh/known_hosts
4)CTRL-X退出,选择Y保存更改
现在,键入ssh -p port servername
,您将收到你做,当你第一次尝试使用SSH到该计算机原来的提示。 然后,将给予该远程计算机的更新SHA256指纹保存到您的known_hosts文件的选项。 如果您使用SSH通过端口22将-p参数是没有必要的。
你可以恢复原来的known_hosts任何问题文件: cp /Users/yourmacusername/.ssh/known_hosts.bak /Users/yourmacusername/.ssh/known_hosts
Answer 7:
正如许多人已经说,使用ssh-keygen
,即
ssh-keygen -R pong
此外,您不妨考虑暂时关闭主机密钥检查:
ssh -oStrictHostKeyChecking=no root@pong
Answer 8:
对我的作品!
错误:如果违反RSA密钥在/ var / lib中/ SSS / pubconf / known_hosts中:4
这表明你有违规的RSA密钥的线上没有。 4
解决方案1:
1. vi /var/lib/sss/pubconf/known_hosts
2. remove line no: 4
。
3. Save and Exit, and Retry
。
方案2:
ssh-keygen -R "you server hostname or ip"
要么
解决方案3:
sed -i '4d' /root/.ssh/known_hosts
这将删除4th
行/root/.ssh/known_hosts
到位( -i
)。
Answer 9:
I used the solution of mockinterface, though the sed -i didn't quite work
I solved it by deleting the line by hand with vim:
sudo vim /var/lib/sss/pubconf/known_hosts
You can use any other text editor you want, but probably you'll need to show your administrative privileges
Answer 10:
这是因为你的远程计算机的设置已经改变。 删除为当前的密钥。
vim /root/.ssh/known_hosts
删除你所连接的IP线。
Answer 11:
对于Mac用户,你可以使用-R
的旗ssh-keygen
命令。 简单的例子:
ssh-keygen -R THE_IP_ADDRESS
THE_IP_ADDRESS
是你想使用SSH连接IP。 然后你就可以正常连接。
Answer 12:
这里的其他答案是好的,工作,反正我删除的问题解决了~/.ssh/known_hosts
。 这无疑解决了这个问题,但它可能不是最好的方法。
Answer 13:
在我的情况发生,因为我以前曾与一台具有相同的IP ssh连接 (比如192.152.51.10),系统正在考虑以前的主机造成的RSA密钥(存储在/home/user_name/.ssh/known_hosts)在不匹配。
要解决此问题,你必须删除先前存储的RSA密钥对IP 192.152.51.10。
ssh-keygen -f "/home/user_name/.ssh/known_hosts" -R 192.152.51.10
Answer 14:
删除从known_hosts中的条目使用:
ssh-keygen -R *ip_address_or_hostname*
这将删除从known_hosts文件有问题的IP地址或主机名,并尝试重新连接。
从手册页:
-R hostname
删除所有属于从known_hosts文件到主机的所有密钥。 此选项删除散列主机是非常有用(见上文-H选项)。
Answer 15:
如果你试图连接到端口2222与命令运行的泊坞窗容器,你会得到错误
mian@tdowrick2~$ ssh pos@localhost -p 2222
那么要解决这个问题,在本地计算机(即主机而非容器),去对cd ~/.ssh/
和开放known_hosts
用文本编辑器文件。 除去起始与行[localhost]:2222
和保存文件。 现在,再次尝试通过ssh
mian@tdowrick2~$ ssh pos@localhost -p 2222
错误将消失,但你必须每次都做到这一点的容器重新启动。
Answer 16:
只有客户端的问题(重复的IP键):
解决变种:
对于明确一个IP(默认端口22):
ssh-keygen -f -R 7.7.7.7
对于一个IP( 非默认端口):
ssh-keygen -f -R 7.7.7.7:333
快速清除所有的IPS:
cd ~; rm .ssh/known_hosts
7.7.7.7 -支持SSH服务器的IP连接
333 -非标准端口
Answer 17:
一个非常简单的解决办法:编辑/home/hostname /.ssh/known_hosts
,并删除4行,并保存它。 然后运行ssh root@pong
再次,你会看到这样的消息: Are you sure you want to continue connecting (yes/no)? yes
Are you sure you want to continue connecting (yes/no)? yes
,只是打印yes
。
这对我的作品。
顺便说一句:如果你有一些问题,首先阅读提示,这将有助于。
Answer 18:
做就是了:
cd /home/user/.ssh/
- >在这里user
将是您的用户名,即/home/jon/
例如。
然后
gedit known_hosts &
删除里面的内容。
现在ssh
再次,它应该工作。
Answer 19:
使用此命令:
truncate -s 0 /home/SYSTEM_NAME/.ssh/known_hosts
Answer 20:
我有这个问题,原因很简单,我有一个重复的IP地址ssh登录,所以修改这个问题之后,寄托都被解决了。
Answer 21:
我有同样的错误在我的机器,我明确authorized_keys
和known_hosts
文件,并在此之后,它工作正常。
Answer 22:
我的解决办法是:
-
vi ~/.ssh/known_hosts
- 删除包含您想要连接的IP线路。
这总比删除所有的known_hosts
Answer 23:
有时候,如果因任何原因,你需要重新安装一台服务器,通过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
Answer 24:
解:
从“$ HOME /的.ssh / known_hosts中”行指的是主机向这是不可能的连接1-删除。
2-执行此命令:SSH-密钥生成-R“IP_ADDRESSorHOSTNAME”(替代“IP_ADDRESSorHOSTNAME”与您的目的地IP或目的地的主机名)
3-重试ssh连接(如果失败的话,请在.ssh目录检查权限,它必须是700)
Answer 25:
我在Ubuntu的解决方案(Linux版):
1.You要删除“的known_hosts”文件,该文件是在“/home/YOUR_USERNAME/.ssh/known_hosts”的内容
2.Generate像一个新的SSH密钥 “SSH-凯基-t RSA -C ”your.email@example.com“ -b 4096”
3.复印粘贴新的SSH密钥在您的git仓库(在我的情况gitlab)SSH密钥。
这个对我有用 !
文章来源: ssh remote host identification has changed