Eu li em outros lugares outras pessoas pedindo que o SSH fosse "corrigido" para que as contas bloqueadas não possam ser conectadas via SSH. (veja o bug da Debian 219377) Esta solicitação foi rejeitada como um patch "porque quebra algumas expectativas dos usuários que estavam acostumados a passar o passwd -l apenas bloqueando o passwd." (veja o bug da Debian 389183), por exemplo, algumas pessoas QUERAM poder bloquear contas de logins com senhas, mas ainda permitem o acesso à chave SSH.
O PAM não negará a autenticação de chave SSH para contas que acabaram de ser bloqueadas (por exemplo, devido a tentativas inválidas de senha, porque a autenticação de chave SSH foi projetada para não prestar atenção ao campo de senha, que é onde as contas geralmente são bloqueadas.)
Entendo que a entrada de hash da senha é implicitamente verificada no horário pam_authenicate (), não no horário pam_acct_mgmt (). pam_unix.so pam_sm_acct_mgmt () não verifica o hash da senha e pam_authenticate () não é chamado durante a autenticação de chave pública.
Se sua intenção é poder desativar centralmente as contas do logon, existem outras soluções possíveis, incluindo:
Alterando o shell de login.
(re) movendo seu arquivo allowed_keys.
Outra opção para negar o acesso pode ser o uso de DenyGroups ou AllowGroups no sshd_config. (adicionando o usuário a um grupo "sshdeny" ou removendo-o de um grupo "sshlogin" para desativá-lo.) (leia aqui: https://help.ubuntu.com/8.04/serverguide/user-management .html )
Em http://web.archiveorange.com/archive/v/67CtqEoe5MhDqkDmUMuL
, li: "O problema é pam_unix verifica apenas as datas de vencimento da entrada de sombra, e não o conteúdo do campo de hash da senha". Se isso for verdade, expirar a conta em vez de bloqueá-la faria o que você precisa?
A resposta para sua pergunta é possivelmente "sim, se você as estiver desativando em outro lugar que não seja o campo da senha"
account optional pam_echo.so file=/etc/redhat-release
ao /etc/pam.d/sshd faz com que o conteúdo do arquivo seja impresso enquanto você usa logins de autenticação baseados em chave (tente).