J'ai lu ailleurs d'autres personnes demandant que SSH soit "corrigé" afin que les comptes verrouillés ne puissent pas être connectés via SSH. (voir le bogue Debian 219377) Cette demande a été rejetée en tant que correctif "car elle rompt certaines attentes des utilisateurs [qui étaient] habitués à passwd -l ne verrouillant que le mot de passe." (voir le bogue Debian 389183). Par exemple, certaines personnes voulaient verrouiller les comptes à partir des connexions par mot de passe, mais autorisent toujours l'accès à la clé SSH.
PAM ne refusera pas l'authentification par clé SSH aux comptes qui viennent d'être verrouillés (par exemple, en raison de tentatives de mot de passe non valides, car l'authentification par clé SSH est conçue pour ne pas prêter attention au champ du mot de passe, qui est généralement l'endroit où les comptes sont généralement verrouillés.)
Je comprends que l'entrée de hachage de mot de passe est implicitement vérifiée au moment de pam_authenicate (), pas au moment de pam_acct_mgmt (). pam_unix.so pam_sm_acct_mgmt () ne vérifie pas du tout le hachage du mot de passe et pam_authenticate () n'est pas appelé pendant l'authentification par clé publique.
Si votre intention est de pouvoir désactiver de manière centralisée les comptes de connexion, il existe d'autres solutions possibles, notamment:
Modification du shell de connexion.
(re) déplacer leur fichier authorized_keys.
Une autre option pour refuser l'accès pourrait être une utilisation de DenyGroups ou AllowGroups dans sshd_config. (puis en ajoutant l'utilisateur à un groupe "sshdeny" ou en le supprimant d'un groupe "sshlogin" pour l'empêcher de se connecter.) (lire ici: https://help.ubuntu.com/8.04/serverguide/user-management .html )
Sur http://web.archiveorange.com/archive/v/67CtqEoe5MhDqkDmUMuL,
j'ai lu: "Le problème est que pam_unix vérifie uniquement les dates d'expiration de l'entrée fantôme, pas le contenu du champ de hachage du mot de passe." Si cela est vrai, expirer le compte plutôt que le verrouiller ferait-il ce dont vous avez besoin?
La réponse à votre question est peut-être "oui, si vous les désactivez ailleurs que dans le champ du mot de passe"
account optional pam_echo.so file=/etc/redhat-release
à /etc/pam.d/sshd entraîne l'impression du contenu du fichier lors de l'utilisation des connexions d'authentification basées sur des clés (essayez-le).