随着7.0 版本,OpenSSH 禁用 ssh-dss 密钥。不那么推荐的解决方法是显式地重新添加 DSA 密钥支持.ssh/config
,该支持最终将被更高版本的 OpenSSH 删除:
PubkeyAcceptedKeyTypes=+ssh-dss
由于我已将 DSA 密钥部署到无数计算机(并且我没有完整的列表,因为known_hosts
已散列),因此每当我在登录时遇到旧的公共用户密钥时,我都必须替换旧的公共用户密钥。
当我使用 ssh-dss 密钥登录时,是否可以使 OpenSSH 客户端显示警告?
答案1
没有特殊的机制来ssh
通知您您使用了某个密钥。它要么有效,要么失败。
使用密码区分密钥
我想到的唯一的另一个想法是使用密码短语。
例如,将 RSA 密钥放在 ssh-agent 中或不带密码,而 DSA 密钥则带有密码(而不是在 ssh-agent 中)。它可能警告提示您输入密码。
不使用它们
最简单的事情是不是添加上面的行ssh_config
,然后你会看到什么时候无法连接。然后您可以使用命令行上的选项进行各个连接:
ssh -oPubkeyAcceptedKeyTypes=+ssh-dss host