如何检查一个ssh密钥的密码是否只用公钥设置?

我们有一些SFTP-Chroot环境,我们只允许4096bit的RSA密钥进行authentication,而我们只有用户的公钥部分。 但是我们有一个策略,用户必须为他们的私钥部分设置一个密码。

有没有办法检查这是真的(他们真的设置密码)只拥有公钥部分或可能通过设置openssh-serverconfiguration中的东西吗?

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

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

如果您正在实施双因素身份validation,也许您可​​以考虑使用PAM或自定义脚本。 使它与一些SFTP客户端工作可能是一个痛苦,但。