在服务器 B 上,我有 ECDSA、RSA 和 ED25519 私钥和公钥,格式为/etc/ssh/
.
当服务器 A 尝试ssh
对服务器 B 进行身份验证时,它收到了 RSA 密钥指纹来进行身份验证,但失败了,因为它known_hosts
具有服务器 B 的 ECDSA 密钥指纹而不是 RSA 密钥,并且启用了严格的密钥检查。
我无法对服务器 A 进行更改,但在服务器 BI 上可以。那么,在这种情况下,当服务器 A 尝试通过 SSH 连接时,如何让服务器 B 向任何服务器提供 ECDSA 密钥?或者换句话说,让 ECDSA 作为服务器 B 的默认密钥身份而不是 RSA?
答案1
您可以检查服务器 B 是否可以使用 ECDSA 密钥(在 /etc/ssh/sshd_config 中应取消注释):
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key