与新域相关的SSH错误

时间:2013-11-04 11:19:44

标签: ssh ssh-keys

我已经能够通过ssh正确连接到服务器了。但最近在更改服务器固定IP地址和域名后,我无法通过DNS名称连接到服务器。尽管如此,我可以ssh使用其IP地址访问服务器。 ssh与域名的错误如下:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The DSA host key for example.com has changed,
and the key for the corresponding IP address X.X.X.X
has a different value. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
Offending key for IP in /home/.ssh/known_hosts:10
  remove with: ssh-keygen -f "/home/.ssh/known_hosts" -R X.X.X.X
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 DSA key sent by the remote host is
*:*:*:*:*:....
Please contact your system administrator.
Add correct host key in /home/.ssh/known_hosts to get rid of this message.
Offending DSA key in /home/.ssh/known_hosts:11
  remove with: ssh-keygen -f "/home/.ssh/known_hosts" -R example.com
DSA host key for example.com has changed and you have requested strict checking.
Host key verification failed.

9 个答案:

答案 0 :(得分:21)

答案在于问题:

ssh-keygen -f "/home/.ssh/known_hosts" -R example.com

您将获得有关重要消息的first google hit的更多信息。 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

答案 1 :(得分:2)

我移动了~/.ssh/known_hosts文件并重新尝试了它。我想这个效果只是确认未来连接的提示,对于known_hosts

中存在的主机

答案 2 :(得分:1)

如果您已备份 / etc / ssh 目录并希望将其还原,请使用

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@hostname

连接一次而不检查。

来源:ssh man page

答案 3 :(得分:0)

按照建议进行操作。

sudo ssh-keygen -f "/root/.ssh/known_hosts" -R ip

sudo ssh-keygen -f "/root/.ssh/known_hosts" -R host

这些命令将删除旧指纹,然后会询问您:

  

主持人(ip)的真实性'无法建立。       ECDSA密钥指纹为SHA256:YrD + 1E4JmdeObwEyQW3zGqNhXE // 64MMZrHHaInE7w0。       您确定要继续连接(是/否)吗?

写"是"你会看到这样的信息:

  

警告:永久添加' host,ip' (ECDSA)   到已知主机列表。

这将在/root/.ssh/known_hosts文件中创建新指纹。

答案 4 :(得分:0)

我遇到了同样的问题。

我认为问题在于记录在" known-hosts"与远程主机的东西不匹配(对不起,我不知道是什么东西)。

就我而言,我刚刚删除了" known-hosts"中的项目。根据远程主机的IP地址再次运行ssh命令。然后它奏效了。

答案 5 :(得分:0)

您应该从known_hosts中删除第10行,因为系统向您发出有关此问题的信号 /home/.ssh/known_hosts:10中IP的违规密钥

答案 6 :(得分:0)

对我来说,它找不到文件,所以我不得不像这样翻转文件路径和域名:

ssh-keygen -R example.com -f ~/.ssh/known_hosts

答案 7 :(得分:0)

当我尝试拉动时,我遇到了同样的问题。

修复: 我在系统上删除了.ssh / known_hosts文件,然后重试了pull,它起作用了。

为什么会这样: 我们进行了gitlab迁移。 known_host文件存储gitlab ip,因此它无法与现有主机建立连接。

答案 8 :(得分:0)

删除known_hosts文件即可

$ rm .ssh/known_hosts
$ ssh ras.mydomain.com

再次尝试使用 ssh 连接

ssh username@server-ip-here