Eu tenho lutado o dia todo com um erro muito semelhante ao acima. No meu caso, eu estava vendo mensagens assim:
Nov 26 15:19:25 digitalocean sshd[2373]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=60.196-30-62.static.virginmediabusiness.co.uk
Nov 26 15:19:25 digitalocean sshd[2373]: pam_ldap: error trying to bind as user "cn=dan.howard,ou=users,dc=example,dc=com" (Invalid credentials)
Nov 26 15:19:27 digitalocean sshd[2373]: Failed password for invalid user dan.howard from 62.30.196.60 port 63534 ssh2
'Credenciais inválidas' é um pouco falso aqui, e o importante era 'usuário inválido dan.howard'. Aparentemente, o NSS primeiro procurará o nome do usuário e, se ele não reconhecer o nome, a senha enviada ao servidor LDAP será a cadeia literal "INCORRECT", que obviamente está errada, e parece muito comportamento estranho para mim (mais informações link )
Eu tinha visto muitos tutoriais instruindo-me a colocar 'ldap' no meu arquivo /etc/nsswitch.conf para as linhas passwd, group e shadow, depois reinicie o nscd.
Eu fiz isso e ele disse [ok], então não pude ver o que estava errado.
Acontece que eu não tinha o módulo ldap nss instalado. Tudo que eu precisava fazer era isto:
apt-get instala o libnss-ldap
Em seguida, o NSS conseguiu identificar os usuários do LDAP, o que significava que o PAM enviaria as senhas corretas e eu era capaz de fazer o login. Espero que isso ajude outra pessoa.