LDAP e PAM funcionando para o login da GUI, mas não para o SSH

1

Eu tenho duas VMs do Debian. um está executando um servidor LDAP e estou tentando fazer com que o outro use libpam_ldap.

A máquina cliente é capaz de obter usuários do LDAP para a tela de login da GUI, mas não posso ssh na VM com usuários que estão apenas no LDAP. Eu também não posso su do usuário raiz (local) para um usuário LDAP, mas eu assumo que é o mesmo problema.

Na máquina cliente, posso usar ldapsearch para procurar o usuário que eu quero ...

ldapsearch  -x -D "cn=admin,dc=mydomain,dc=com" -W -b "uid=testuser,ou=People,dc=mydomain,dc=com"

Isso me solicita a senha LDAP do administrador e retorna meu registro de usuário:

dn: uid=testuser,ou=People,dc=mydomain,dc=com
uid: testuser
cn: Test User
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: [removed for stackexchange posting ]
shadowLastChange: 17543
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/dwill
gecos: Test User,,,

(note que o meu domínio não é acutualmente "mydomain.com". Eu o editei para esta postagem)

Mas quando eu faço getent passwd testuser , ele não retorna nada.

o /etc/nsswitch.conf tem essas linhas

passwd:         files ldap
group:          files ldap
shadow:         files ldap

Costumava ter compat ldap para esses, mas tentei alterá-lo files porque é isso que um dos guias que encontrei tinha. Não funcionou de qualquer forma.

O /etc/ssh/sshd_config tem UsePAM yes definido.

Eu segui todos os guias que posso encontrar pelo Google e ainda não consigo fazer isso funcionar.

Alguma sugestão?

    
por dwilliss 13.01.2018 / 02:26

2 respostas

1

Eu encontrei o problema. Um dos guias que encontrei no Google me instruiu a fazer

apt-get libnss-ldap libpam-ldap nslcd

Mais tarde, também encontrei um artigo que dizia que libpam-ldapd é mais recente que libpam-ldap e instalou isso.

libnss-ldap solicita algumas configurações e cria um arquivo /etc/libnss-ldap.conf . Então libpam-ldap desinstala libnss-ldap mas deixa seu arquivo de configuração para trás. Aparentemente, esse arquivo de configuração ainda é significativo porque é esse que está usando e eu tive um erro no binddn nesse arquivo. Depois de consertar o binddn, funcionou.

Eu realmente não sei por que você instalaria os dois módulos do ldap. Depois de obter a primeira VM cliente trabalhando, eu configurei outra VM cliente usando apenas libpam-ldapd e nslcd e ela funcionou pela primeira vez.

    
por 14.01.2018 / 01:57
0

Verifique se você tem um /etc/pam.d/sshd com o seguinte conteúdo:

auth    sufficient      pam_ldap.so
account sufficient      pam_permit.so

Em seguida, execute sudo /usr/sbin/pam-auth-update e reinicie o sshd service.

    
por 13.01.2018 / 11:28

Tags