阻止无密码 ssh 密钥

阻止无密码 ssh 密钥

是否有一个 sshd 配置命令来阻止其中包含空白或空密码的密钥?

我想限制只有拥有密码的人员才能进行 ssh 访问,但服务器上无需存储密码。

答案1

我不这么认为,因为密钥短语是在客户端用来解锁密钥的。我认为服务器并不知道密钥上是否有短语。此外,用户可以将他们的密钥解锁到他们的 ssh-agent 密钥链中。

最好使用公钥作为第二个因素,同时仍然需要密码。这允许您实施适当强度的最低密码策略。

答案2

不,这是不可能的。服务器无法知道用户是否输入了密码来使用他的密钥,他也不需要这些信息。服务器唯一看到的是“请让我进入,签名的某个密钥”,并将其与已知的公钥进行比较。您可以禁用公钥登录,但这样您就必须在服务器上存储您不想要的(加密)密码。

相关内容