![基于 SSH 密钥的登录绕过密码策略](https://linux22.com/image/33828/%E5%9F%BA%E4%BA%8E%20SSH%20%E5%AF%86%E9%92%A5%E7%9A%84%E7%99%BB%E5%BD%95%E7%BB%95%E8%BF%87%E5%AF%86%E7%A0%81%E7%AD%96%E7%95%A5.png)
我注意到通过 SSH 密钥登录绕过了 LDAP 密码策略(密码老化、密码警告以及由于尝试失败而导致的密码锁定等)。有没有办法强制基于密钥的 ssh 登录遵守密码策略?
我的客户端很旧(RHEL 4),因此安装 sssd 不是一个选项。
答案1
我想要完成的是一种欺骗身份验证方法的方法,不让我使用公钥进行连接
PubkeyAuthentication
您可以使用中的设置禁用公钥身份验证/etc/ssh/sshd_config
。从man sshd_config
:
PubkeyAuthentication
Specifies whether public key authentication is allowed. The
default is “yes”. Note that this option applies to protocol ver‐
sion 2 only.
您最初的想法 - 强制用户在使用公钥登录时更改密码 - 并没有真正意义,因为公钥身份验证与密码无关。如果它是一个使用公钥连接到服务器的脚本怎么办?它无法设置新密码。如果用户使用不知道密码的公钥连接怎么办?他无法设置新密码,因为他无法根据passwd
提示提供旧密码。