O problema é que você está tentando impor essas políticas dentro da pilha de autorização.
auth required pam_env.so
auth required pam_faildelay.so delay=2000000
auth required pam_faillock.so preauth silent audit deny=3 even_deny_root unlock_time=60
auth sufficient pam_unix.so nullok try_first_pass
auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=60
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so
account required pam_faillock.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account required pam_permit.so
Autenticação de chave pública implementada no próprio daemon SSH ignora a pilha de autenticação. (não há nenhum módulo de autenticação do PAM sendo chamado para validar a chave enviada, por isso tem que funcionar dessa maneira). A única exceção é quando você está executando uma configuração personalizada que requer sucesso dentro do teclado interativo também. Como esse não é o padrão, sua pilha de autenticação quase certamente está sendo ignorada durante essas autenticações.
Embora a pilha account
seja geralmente onde você impõe restrições nos logins apenas de chave pública, não acredito que funcionem aqui como você teria primeiro que ter sucesso na autenticação para que o Módulo PAM a ser chamado. Se o seu módulo PAM não está sendo chamado, não é possível incrementar uma contagem a cada login com falha.
A única maneira de ver isso funcionando é ajustar a configuração do sshd para exigir autenticação interativa com teclado além da autenticação de chave pública. (você pode usar este Q & A como ponto de partida) Dito isso, como JohnA aponta, é discutível se isso realmente forneceria algum valor.