He leído en otras partes que otras personas piden que se "repare" SSH para que las cuentas bloqueadas no se puedan iniciar sesión a través de SSH. (vea el error de Debian 219377) Esta solicitud fue rechazada como un parche "porque rompe algunas expectativas de los usuarios [que estaban] acostumbrados a passwd -l solo bloqueando el passwd". (vea el error de Debian 389183), por ejemplo, algunas personas QUERÍAN poder bloquear las cuentas de los inicios de sesión de contraseña, pero aún así permitir el acceso a la clave SSH.
PAM no negará la autenticación de la clave SSH a las cuentas que se acaban de bloquear (por ejemplo, debido a intentos de contraseña no válidos, porque la autenticación de la clave SSH está diseñada para no prestar atención al campo de la contraseña, que es donde generalmente se bloquean las cuentas).
Entiendo que la entrada de hash de contraseña se verifica implícitamente en el momento pam_authenicate (), no en el momento pam_acct_mgmt (). pam_unix.so pam_sm_acct_mgmt () no comprueba el hash de la contraseña en absoluto, y pam_authenticate () no se llama durante la autenticación de clave pública.
Si su intención es poder inhabilitar de forma centralizada las cuentas para que no inicien sesión, existen otras soluciones posibles, que incluyen:
Cambiar el shell de inicio de sesión.
(re) mover su archivo autorizado_claves.
Otra opción para denegar el acceso podría ser el uso de DenyGroups o AllowGroups en sshd_config. (luego agregar al usuario a un grupo "sshdeny" o eliminarlo de un grupo "sshlogin" para deshabilitar el inicio de sesión) (lea aquí: https://help.ubuntu.com/8.04/serverguide/user-management .html )
De http://web.archiveorange.com/archive/v/67CtqEoe5MhDqkDmUMuL
leí: "El problema es que pam_unix comprueba solo las fechas de vencimiento de la entrada oculta, no el contenido del campo de hash de contraseña". Si esto es cierto, ¿ expirar la cuenta en lugar de bloquearla hará lo que necesita?
La respuesta a su pregunta es posiblemente "sí, si los deshabilita en otro lugar que no sea el campo de contraseña"
account optional pam_echo.so file=/etc/redhat-release
a /etc/pam.d/sshd hace que el contenido del archivo se imprima mientras se utilizan inicios de sesión de autenticación basados en claves (pruébelo).