Fil*_*lný 574 ssh verification man-in-the-middle ipa
我重新安装了我的服务器,我收到这些消息:
[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.
Run Code Online (Sandbox Code Playgroud)
我尝试过在互联网上找到的各种解决方案.我的known_hosts文件(通常在~/.ssh/known_hosts)中/var/lib/sss/pubconf/known_hosts.我试过编辑它,但它仍处于一种状态.我安装了ipa-client并安装了Fedora 19.如何解决此警告?
到目前为止回答的所有答案只有在您没有安装Freeipa时才有效.
正确的答案,从adrin下面的评论freeipa 这里.
Kas*_*zar 1020
这是最简单的解决方案
ssh-keygen -R <host>
Run Code Online (Sandbox Code Playgroud)
例如,
ssh-keygen -R 192.168.3.10
Run Code Online (Sandbox Code Playgroud)
-R hostname从known_hosts文件中删除属于hostname的所有密钥.此选项对于删除散列主机很有用(请参阅上面的-H选项).rav*_*jan 188
使用
ssh-keygen -R [hostname]
Run Code Online (Sandbox Code Playgroud)
ip地址/主机名的示例如下:
ssh-keygen -R 168.9.9.2
Run Code Online (Sandbox Code Playgroud)
这将从known_hosts更新主机的违规行为
小智 109
重新创建数字海洋Ubuntu图像后,我发生了同样的错误.我使用以下命令代替我的服务器IP[IP_ADDRESS]
ssh-keygen -R [IP_ADDRESS]
Run Code Online (Sandbox Code Playgroud)
moc*_*ace 37
当您重新安装服务器时,其身份会发生变化,您将开始收到此消息.Ssh无法知道您是否已更改其连接的服务器,或者已将中间服务器添加到您的网络以嗅探您的所有通信 - 因此它会引起您的注意.
只需删除相关条目,即可从known_hosts中删除密钥:
sed '4d' -i /var/lib/sss/pubconf/known_hosts
Run Code Online (Sandbox Code Playgroud)
这4d是在帐户上Offending RSA ...known_hosts:4
And*_*den 32
大锤将一举移除所有已知的主机:
rm ~/.ssh/known_hosts
Run Code Online (Sandbox Code Playgroud)
我反对这一点,因为我们使用来自跳转框的短期服务器的小子网,并且经常使用共享相同ssh密钥的服务器的内部IP地址重用.
ano*_*932 24
问题是您之前已接受与远程计算机的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.您将需要该日志输出中的servername和可能的端口.
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文件中.如果您通过端口22使用SSH,则不需要-p参数.
您可以恢复原始known_hosts文件的任何问题: cp /Users/yourmacusername/.ssh/known_hosts.bak /Users/yourmacusername/.ssh/known_hosts
Ste*_*uan 15
许多人已经说过,使用ssh-keygen,即
ssh-keygen -R pong
Run Code Online (Sandbox Code Playgroud)
此外,您可能要考虑暂时关闭主机密钥检查:
ssh -oStrictHostKeyChecking=no root@pong
Run Code Online (Sandbox Code Playgroud)
Sah*_*ati 14
适合我!
错误:在/ var/lib/sss/pubconf/known_hosts中违反RSA密钥:4
这表示您在第no行有一个违规的RSA密钥.4
解决方案1:
1.
vi /var/lib/sss/pubconf/known_hosts2
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).
3nr*_*ue0 11
我使用了模拟接口的解决方案,虽然sed -i没有完全工作我通过手动删除vim来解决它:
sudo vim /var/lib/sss/pubconf/known_hosts
Run Code Online (Sandbox Code Playgroud)
您可以使用任何其他所需的文本编辑器,但可能需要显示您的管理权限
Ale*_*lex 10
这是最简单的解决方案
使用 ssh-keygen 删除无效密钥
ssh-keygen -R "you server hostname or ip"
Run Code Online (Sandbox Code Playgroud)
希望对你有帮助
小智 10
最终解决方案!
这是由于存储的ECDSA 密钥无效而显示的。因此,我们必须使用以下命令从主/控制器计算机中删除 ECDSA 密钥:
ssh-keygen -R 192.168.0.132
Run Code Online (Sandbox Code Playgroud)
这里192.168.0.132是远程系统IP。
编辑/home/hostname /.ssh/known_hosts,删除4行,保存。
然后ssh root@pong再次运行,你会看到这样的消息:Are you sure you want to continue connecting (yes/no)? yes, just print yes。
注意:如果您遇到问题,请先阅读提示,它会有所帮助。
对于Mac用户,可以使用命令的-R标志ssh-keygen。快速示例:
ssh-keygen -R THE_IP_ADDRESS
Run Code Online (Sandbox Code Playgroud)
THE_IP_ADDRESS是您要尝试使用的IP。然后您就可以连接好了。
就我而言,这是因为我之前与一台具有相同 IP 的机器(比如 192.152.51.10)建立了 ssh 连接,并且系统正在考虑之前主机的 RSA 密钥(存储在 /home/user_name/.ssh/known_hosts 中)导致在不匹配。
要解决此问题,您必须删除先前存储的 IP 192.152.51.10 的 RSA 密钥。
ssh-keygen -f "/home/user_name/.ssh/known_hosts" -R 192.152.51.10
Run Code Online (Sandbox Code Playgroud)
我在 Windows 10 中使用 PowerShell 进行 ssh。
我的问题出在Windows目录中:C:\Users\youruser\.ssh
删除该目录中的文件known_hosts以忘记旧值。
您还可以使用文件资源管理器来查找和删除该文件。
简单的单行解决方案,在 mac 上测试:
sed '/212.156.48.110/d' ~/.ssh/known_hosts > ~/.ssh/known_hosts
Run Code Online (Sandbox Code Playgroud)
仅从已知主机中删除目标 ssh 主机 IP。
其中 212.156.48.110 替换为目标主机 IP 地址。
原因:发生的原因是由于端口转发,目标 IP 已被另一台机器知道。在连接之前删除目标 IP 将解决该问题。
更新了你的 ssh 密钥,收到上述消息是正常的。
只需编辑~/.ssh/known_hosts并删除第 4 行,正如消息指出的那样
Offending RSA key in /Users/isaacalves/.ssh/known_hosts:4
Run Code Online (Sandbox Code Playgroud)
或使用 ssh-keygen 删除无效密钥
ssh-keygen -R "you server hostname or ip"
Run Code Online (Sandbox Code Playgroud)
使用以下命令从known_hosts 中删除该条目:
ssh-keygen -R *ip_address_or_hostname*
Run Code Online (Sandbox Code Playgroud)
这将从known_hosts文件中删除有问题的IP 或主机名,并尝试再次连接。
从手册页:
-R hostname
从known_hosts 文件中删除属于主机名的所有键。此选项对于删除散列主机很有用(请参阅上面的 -H 选项)。
有时,如果出于某种原因,您需要重新安装服务器,当通过 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
Run Code Online (Sandbox Code Playgroud)
再次连接时,我们会要求您验证新指纹:
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
Run Code Online (Sandbox Code Playgroud)
使用这个命令:
truncate -s 0 /home/SYSTEM_NAME/.ssh/known_hosts
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
508670 次 |
| 最近记录: |