解决SSH连接时出现的“No ED25519 host key is known for [hostname]”错误
2024.01.18 04:19浏览量:55简介:在SSH连接时,有时会遇到“No ED25519 host key is known for [hostname]”的错误。这是由于SSH客户端无法识别远程主机的公钥导致的。下面我们将介绍如何解决这个问题。
当你尝试使用SSH连接到远程主机时,如果SSH客户端没有存储该主机的ED25519 host key,就会出现“No ED25519 host key is known for [hostname]”的错误。为了解决这个问题,你可以采取以下步骤:
- 获取远程主机的公钥
你可以从远程主机的官方文档、网站或管理员处获取其公钥。确保你获取的是正确的公钥,并确保它与远程主机上使用的密钥匹配。 - 添加远程主机的公钥到SSH客户端
将获取到的远程主机公钥添加到SSH客户端的known_hosts文件中。你可以使用以下命令完成这一步:
第一个命令将删除现有的known_hosts文件中与[hostname]相关的条目。第二个命令将从known_hosts文件中提取公钥并将其添加到新的文件中。请确保在执行这些命令之前备份已知的known_hosts文件,以防意外情况发生。ssh-keygen -R [hostname]ssh-keygen -y -f ~/.ssh/known_hosts -i -b 4096 [hostname]
- 验证公钥是否正确添加
使用以下命令验证远程主机的公钥是否已正确添加到known_hosts文件中:
如果输出中显示了正确的指纹信息,则表示公钥已成功添加到known_hosts文件中。ssh-keygen -lf -E sha256 -i -m [hostname]
- 尝试再次连接远程主机
完成上述步骤后,尝试再次使用SSH连接到远程主机。这次应该不再出现“No ED25519 host key is known for [hostname]”的错误。
请注意,如果你使用的是SSH代理或中间服务器,并且该服务器无法识别远程主机的公钥,那么你需要确保代理或中间服务器上存储了正确的known_hosts文件。此外,如果你在多个系统上使用SSH连接相同的远程主机,请确保每个系统上的known_hosts文件都已正确更新。
为了避免将来的连接问题,建议定期更新known_hosts文件以反映远程主机的最新密钥变化。这样可以帮助确保SSH连接的安全性和稳定性。

发表评论
登录后可评论,请前往 登录 或 注册