Se você tiver inscrito o cliente no FreeIPA, sua pilha PAM será configurada para usar o daemon SSSD. O módulo PAM em questão é o pam_sss, que fala com o daemon SSSD para executar a verificação. O SSSD sabe sobre os atributos do IPA e deve negar a sessão quando o usuário está bloqueado.
# ipa user-disable abbra
-----------------------------
Disabled user account "abbra"
-----------------------------
# grep UsePAM /etc/ssh/sshd_config
UsePAM yes
# journalctl -u sshd -f
.....
Feb 29 17:21:23 a.example.com systemd[1]: Started OpenSSH server daemon.
Feb 29 17:21:33 a.example.com sshd[20209]: pam_sss(sshd:account): system info: [The user account is locked on the server]
Feb 29 17:21:33 a.example.com sshd[20209]: pam_sss(sshd:account): Access denied for user abbra: 6 (Permission denied)
Feb 29 17:21:33 a.example.com sshd[20209]: fatal: Access denied for user abbra by PAM account configuration [preauth]
Para o usuário habilitado, você teria algo como:
# ipa user-enable abbra
----------------------------
Enabled user account "abbra"
----------------------------
# journalctl -u sshd -f
....
Feb 29 18:03:27 a.example.com sshd[22302]: Accepted publickey for abbra from X.Y.Z.W port 54540 ssh2: KEY...
Quando a senha é marcada como expirada (configurando-a por outro usuário, por exemplo, admin ou aplicando uma determinada política de senha), o SSSD ignora o fato de que a senha precisa de uma alteração porque neste momento ela só executa uma fase da conta as senhas não são verificadas.
Costumava haver um número de pedidos para adicionar essa lógica no passado, com um dos argumentos contra ela era o fato de que, se você está usando um tipo de autenticação (chave pública), por que o status da conta deve ser baseado no estado de outro tipo de autenticação. Existe uma lógica, mas talvez seja bom adicionar uma política de senha que permita que a lógica acople o estado da conta com o estado da senha.
Se você estiver interessado em ter essa política de senhas, recomendamos que você abra um tíquete para o FreeIPA para solicitá-la, com uma explicação do seu caso de uso.