![如何使用 DSA 密钥对代替 RSA](https://linux22.com/image/670202/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20DSA%20%E5%AF%86%E9%92%A5%E5%AF%B9%E4%BB%A3%E6%9B%BF%20RSA.png)
为了测试目的,我想在我的服务器(我们将其命名为 A)上启用 DSA 身份验证。如果我删除位于 下的所有密钥对/etc/ssh
,则在 sshd 重启时会生成 RSA 和 DSA 密钥对。
结果是,如果我尝试从服务器 B 打开到服务器 A 的 SSH 连接,则会显示以下消息:
The authenticity of host '...' can't be established.
RSA key fingerprint is ...
Are you sure you want to continue connecting (yes/no)?
您知道如何禁用 RSA 身份验证以便我的服务器 B 使用 DSA 在服务器 A 上进行身份验证吗?
答案1
如果我删除位于下的所有密钥对
/etc/ssh
,则重新启动时会生成 RSA 和 DSA 密钥对sshd
。
如果您使用的是 CentOS/RHEL/Fedora,我们会根据文件内容自动生成缺失的密钥/etc/sysconfig/sshd
,如果您不想生成某些密钥,您应该在其中定义。
您知道如何禁用 RSA 身份验证以便我的服务器 B 使用 DSA 在服务器 A 上进行身份验证吗?
如果您希望您的服务器仅使用 DSA 密钥,您应该更改您的/etc/ssh/sshd_config
并添加HostKey /etc/ssh/ssh_host_dsa_key
(如果有的话,删除指定其他密钥的行)。