Eu tenho um servidor ldap aberto:

Eu tenho um servidor ldap aberto:

Eu tenho um servidor ldap aberto:

IP: 192.168.0.70 (Dell)

DITO:

insira a descrição da imagem aqui

(visto através do ldapphpadmin)

E para Patrícia Duchesne:

dn  cn=patricia duchesne,ou=users,dc=memorandum,dc=pro
cn  patricia duchesne
gidnumber   501
givenname   patricia
homedirectory   /home/users/pduchesne
loginshell  /bin/bash
objectclass inetOrgPerson | posixAccount | top
sn  duchesne
uid pduchesne
uidnumber   1000
userpassword    {MD5}eFI0F0...

Então eu tenho um cliente LDAP:

IP: 192.168.0.60 (pb)

NSSWitch está configurado:

$cat /etc/nsswitch.conf

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

hosts:          files mdns4_minimal [NOTFOUND=return] dns
networks:       files
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
netgroup: nis

o mesmo acontece com ldap-auth:

$ cat /etc/auth-client-config/profile.d/ldap-auth-config
[lac_ldap]
nss_passwd=passwd: files ldap
nss_group=group: files ldap
nss_shadow=shadow: files ldap
nss_netgroup=netgroup: nis

e libnss:

$ cat /etc/libnss-ldap.conf
uri ldap://192.168.0.70
base dc=memorandum,dc=pro

Posso acessar as informações do usuário ldap:

$ getent passwd | tail -n 1
pduchesne:*:1000:501:patricia duchesne:/home/users/pduchesne:/bin/bash

Mas não consigo conectar:

Do IP: 192.168.0.80

$ ssh [email protected]
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied (publickey,password).

O que estou perdendo ?

Olhei centenas de páginas da web sem encontrar uma maneira de configurar tudo isso :( https://help.ubuntu.com/community/LDAPClientAuthentication https://askubuntu.com/questions/127389/how-to-configure-ubuntu-as-an-ldap-client https://www.digitalocean.com/community/tutorials/how-to-authenticate-client-computers-using-ldap-on-an-ubuntu-12-04-vps

Encontrando esta página:https://www.vincentliefooghe.net/content/openldap-gestion-des-logs Percebi que não sei onde estão os logs ldap :-(

EDITAR

Seguindo :https://help.ubuntu.com/community/LDAPClientAuthentication

Configuração PAM em 192.168.0.60:

$ cat /usr/share/pam-configs/my_mkhomedir
Name: activate mkhomedir
Default: yes
Priority: 900
Session-Type: Additional
Session:
        required                        pam_mkhomedir.so umask=0022 skel=/etc/skel

Atualizar :

$ sudo pam-auth-update
[sudo] password for romain:
LDAP Password:

insira a descrição da imagem aqui

O arquivo

$ cat /etc/security/group.conf

está totalmente comentado

Eu não usei nscd :

$ /etc/init.d/nscd stop
[....] Stopping nscd (via systemctl): nscd.service==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to stop 'nscd.service'.
Authenticating as: romain,,, (romain)
Password:
LDAP Password:
==== AUTHENTICATION COMPLETE ===
. ok

Não usei o parágrafo [Autorização de acesso ao host LDAP]. Eu devo ?

EDITAR 2

Ssh detalhado:

romain@Mac:~$ ssh -v pduchesne@pb
OpenSSH_6.9p1, LibreSSL 2.1.8
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: /etc/ssh/ssh_config line 102: Applying options for *
debug1: Connecting to pb [192.168.0.60] port 22.
debug1: Connection established.
debug1: identity file /Users/romain/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/romain/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/romain/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/romain/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/romain/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/romain/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/romain/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/romain/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.9
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2 Ubuntu-4ubuntu2.1
debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.1 pat OpenSSH* compat 0x04000000
debug1: Authenticating to pb:22 as 'pduchesne'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client [email protected] <implicit> none
debug1: kex: client->server [email protected] <implicit> none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:OIiYKNK9FOdhlu2sVahXFoXYCjxmxTQ7NrZtA75Vwps
debug1: Host 'pb' is known and matches the ECDSA host key.
debug1: Found key in /Users/romain/.ssh/known_hosts:18
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/romain/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /Users/romain/.ssh/id_dsa
debug1: Trying private key: /Users/romain/.ssh/id_ecdsa
debug1: Trying private key: /Users/romain/.ssh/id_ed25519
debug1: Next authentication method: password
pduchesne@pb's password:
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
pduchesne@pb's password:
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
pduchesne@pb's password:
debug1: Authentications that can continue: publickey,password
debug1: No more authentication methods to try.
Permission denied (publickey,password).

EDITAR 3

Adicionando hash pwd do usuário no servidor ldap (veja o dump do usuário no início)

EDITAR 4

Seguindo a proposta do @grawity, instalei o libpam-ldapd:

romain@pb$ sudo apt-get install libpam-ldapd
[sudo] password for romain:
LDAP Password:
The following packages were automatically installed and are no longer required:
  auth-client-config ldap-auth-config
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  libpam-ldap
The following NEW packages will be installed:
  libpam-ldapd
Do you want to continue? [Y/n] Y
(...)
Setting up libpam-ldapd:amd64 (0.9.6-3) ...

Então configurei /etc/nslcd.confe percebi que não estava especificando com precisão o uso do ldap version3 (não sei qual versão é o padrão?):

romain@pb$ sudo cat /etc/nslcd.conf | grep "^[^#]"
uid nslcd
gid nslcd
uri ldap://192.168.0.70
base dc=memorandum,dc=pro
ldap_version 3
tls_cacertfile /etc/ssl/certs/ca-certificates.crt

Nslcd reiniciado:

romain@pb$ sudo service nslcd restart

e tentei conectar do meu mac:

romain@Mac:~$ ssh pduchesne@pb

que funcionou ... mais ou menos:

romain@Mac:~$ ssh pduchesne@pb
pduchesne@pb's password:
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-53-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

197 packages can be updated.
4 updates are security updates.

*** System restart required ***
Last login: Fri Jan 13 11:12:23 2017 from 192.168.0.80
romain@pb:~$ pwd
/home/users/pduchesne
romain@pb:~$ whoami
romain

Nova pergunta (para edição 4)

Por que não mudo de usuário ?? Eu esperava fazer login em 'pb' como 'pduchesne' :-/

Pergunta antiga (antes da edição 4)

Não sei quais arquivos verificar - qualquer conselho é bem-vindo.

Responder1

Na verdade, sua configuração mostrada não menciona nada que possa ser usado para autenticação; ou seja, nenhum método para verificar a senha inserida.

Sua configuração do nsswitch 1 possui shadow: ldap, mas seu despejo do objeto de usuário na verdade não menciona nenhum atributo "sombra" - então háénenhuma informação que getent shadowpudesse ser recuperada. Embora tudo bem, porque expor informações de sombra sobre LDAP não seria muito seguro, de qualquer maneira.

Em vez disso, você deve configurar pam_ldap(libpam-ldapd), que tenta autenticar (ligar) no servidor LDAP usando a senha fornecida. Para isso, é necessário colocar o hash da senha no formato LDAP no userPasswordatributo do usuário (que também está faltando no seu dump).

Observe, porém, que o libnss-ldap independente (e o libpam-ldap) tem várias desvantagens e é em sua maioria obsoleto - você terá uma configuração muito mais confiável com nslcd + libnss-ldapd+ libpam-ldapd em vez disso.


1 "Troca de serviço de nomes", não "a bruxa do NSS"

informação relacionada