安装更新并重新启动服务器后,SSH 密钥修改为使用主机名而不是 IP

安装更新并重新启动服务器后,SSH 密钥修改为使用主机名而不是 IP

在我的 Ubuntu 14.04 AWS EC2 服务器最近更新之后,我的远程机器无法再通过 ssh 连接。检查 EC2 上的系统日志后,我发现:

Jun 26 02:27:06 ec2: #############################################################
Jun 26 02:27:06 ec2: -----BEGIN SSH HOST KEY FINGERPRINTS-----
Jun 26 02:27:06 ec2: 256 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx  [email protected] (ECDSA)
Jun 26 02:27:06 ec2: -----END SSH HOST KEY FINGERPRINTS-----
Jun 26 02:27:06 ec2: #############################################################

切换到我的远程机器后,我进行了一些挖掘,发现了以下错误消息:

The authenticity of host ‘[hostname]:port ([###.###.###.###]:port)’ can't be established.
ECDSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes

运行'ssh-keygen -l -f ~/.ssh/known_hosts' 返回:

256 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx |1|aaaaaaaaaaaaaaaaaaaaaaaaaaa=|aaaaaaaaaaaaaaaaaaaaaaaaaaa= (ECDSA)
256 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx |1|bbbbbbbbbbbbbbbbbbbbbbbbbbb=|bbbbbbbbbbbbbbbbbbbbbbbbbbb= (ECDSA)

使用“ssh-keygen -H -F”我发现旧密钥使用的是 [hostname]:443,而新密钥使用的是 [ipaddress]:443

我有 3 个问题:1. 如果指纹和密钥匹配,为什么真实性会受到质疑?我以为哈希纯粹是信息性的。2. 什么会导致密钥使用 IP 地址而不是主机名重新生成?3. 有没有办法再次使用主机名重新生成密钥?

短期内,我只会使用这两个密钥更新known_hosts文件,我只是希望更多地了解为什么/谁会发生这种情况,而我的搜索返回的结果太低级了。

相关内容