如何仅使用公钥检查是否已设置 ssh 密钥的密码?

如何仅使用公钥检查是否已设置 ssh 密钥的密码?

我们有一些 SFTP-Chroot 环境,其中我们仅允许使用 4096 位 RSA 密钥进行身份验证,并且我们只有来自用户的公钥部分。但我们有一个策略,即用户必须为其私钥部分设置密码。

有没有办法仅通过拥有公钥部分或者通过在 openssh-server 配置中设置某些内容来检查这是否属实(他们确实设置了密码)?

答案1

你不能(只有公钥)。用户可以更改或删除私钥的密码,而不会影响服务器。

有一个类似的问题:如何判断公共 SSH 密钥是否有密码

如果你正在实施双因素身份验证,也许你可以考虑使用 PAM 或自定义脚本。不过让它与某些 SFTP 客户端配合使用可能会很麻烦。

相关内容