如何将服务器的 ECDSA 添加到已知主机但有机会验证它?

如何将服务器的 ECDSA 添加到已知主机但有机会验证它?

有没有办法将已知的 ECDSA 指纹添加到 known_hosts,而无需尝试登录服务器或强制 ssh 显示密钥并要求我接受?

当我第一次尝试登录时,它会自动添加密钥而不显示,这不是很安全。

答案1

known_host 的内容只是.pubSSH 主机密钥文件的内容,该文件(对于 ECDSA 而言)位于 中/etc/ssh/ssh_host_ecdsa_key.pub

在大多数配置中,SSH 应该第一次就要求您输入主机 SSH 密钥;如果没有,则有两种可能性:

  1. 您已StrictHostKeyChecking设置为no。如果是这种情况,SSH 将直接将任何 SSH 密钥添加到known_hosts,而不会询问或执行任何类型的检查。要修复此问题,请将此选项设置为yes(ssh 不会询问,但也会拒绝连接到具有未知密钥的主机)或ask(ssh 会询问遇到未知密钥时该怎么做;默认设置)
  2. SSH 服务器的管理员已为您的服务器创建了 SSHFP DNS 记录并启用了 DNSSEC,您的 SSH 客户端能够验证 DNSSEC 链,并且 SSHFP 指纹与您的服务器导出的指纹相匹配。在这种情况下,SSH 指纹验证,只是不通过常规方式,并且 SSH 不会打扰您检查一切是否正常的细节。

相关内容