如何使用DSA密钥对而不是RSA

出于testing目的,我想在我的服务器上启用DSA身份validation(让我们将其命名为A)。 如果我删除位于/etc/ssh下的所有密钥对,那么在sshd restart时将生成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身份validation,以便我的服务器B使用DSA在服务器A上进行身份validation吗?

如果我删除位于/etc/ssh下的所有密钥对,那么在sshd restart时将生成RSA和DSA密钥对。

如果您使用的是CentOS / RHEL / Fedora,那么如果您不想生成某些密钥,则基于文件/etc/sysconfig/sshd的内容自动生成丢失的密钥。

你知道一种方法来禁用RSA身份validation,以便我的服务器B使用DSA在服务器A上进行身份validation吗?

如果您希望服务器只使用DSA密钥,则应该更改/etc/ssh/sshd_config并添加HostKey /etc/ssh/ssh_host_dsa_key (并删除指定其他密钥的行(如果有的话))。