Impossible de se connecter avec ldap

J'ai un serveur open ldap:

IP: 192.168.0.70 (dell)

DIT:

Entrez la description de l'image ici

(Vu par ldapphpadmin)

Et pour Patricia 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... 

Ensuite, j'ai un client LDAP:

IP: 192.168.0.60 (pb)

NSSWitch est configuré:

 $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 

Soit 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 

Et libnss:

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

Je peux accéder aux informations de l'utilisateur ldap:

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

Mais je ne peux pas me connecter:

De l'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). 

Qu'est-ce qui me manque?

J'ai regardé cent pages sans trouver un moyen de configurer tout cela 🙁 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

Trouver cette page: https://www.vincentliefooghe.net/content/openldap-gestion-des-logs J'ai réalisé que je ne sais pas où sont les journaux ldap 🙁

MODIFIER

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

Configuration PAM sur 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 

Mettre à jour :

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

Entrez la description de l'image ici

Le fichier

 $ cat /etc/security/group.conf 

Est entièrement commenté

Je n'ai pas utilisé 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 

Je n'ai pas utilisé le paragraphe [LDAP Host Access Authorization]. Devrais-je ?

EDIT 2

Verbose ssh:

 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). 

EDIT 3

Ajout du hash de pwd utilisateur dans le serveur ldap (voir le déchargement de l'utilisateur au début)

EDIT 4

À la suite de la proposition de la disponibilité, j'ai installé 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) ... 

Ensuite, j'ai configuré /etc/nslcd.conf sur lequel je remarque que je ne spécifiais pas préciser l'utilisation de ldap version3 (je ne sais pas quelle version est par défaut?):

 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 

Resté nslcd:

 romain@pb$ sudo service nslcd restart 

Et essayé de me connecter à partir de mon mac:

 romain@Mac:~$ ssh pduchesne@pb 

Qui a travaillé … genre de:

 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 

Nouvelle question (pour Edit 4)

Pourquoi je ne change pas d'utilisateur? Je m'attendais à me connecter à 'pb' comme 'pduchesne': – /

Ancienne Question (avant Edition 4)

Je ne connais pas les fichiers à vérifier – les conseils sont les bienvenus.

La configuration affichée ne mentionne pas tout ce qui pourrait être utilisé pour l'authentification; C'est-à-dire aucune méthode pour vérifier le mot de passe entré.

Votre configuration nsswitch 1 a une shadow: ldap , mais votre décharge de l'objet utilisateur ne mentionne pas réellement d'attributs "ombre" – donc il n'y a pas d'informations que getent shadow pourrait récupérer. Bien que cela soit bien parce que l'exposition des informations sur l'ombre sur LDAP ne serait pas très sécurisée, de toute façon.

Au lieu de cela, vous devez configurer pam_ldap (libpam-ldapd), qui tente d'authentifier (lier) le serveur LDAP en utilisant le mot de passe donné. Pour cela, il est nécessaire de mettre le hash de mot de passe de format LDAP dans l'attribut userPassword l'utilisateur (qui est également manquant dans votre déchargement).

Notez cependant que le libnss-ldap autonome (et libpam-ldap) a plusieurs inconvénients et est généralement obsolète – vous aurez une configuration beaucoup plus fiable avec nslcd + libnss-ldap d + libpam-ldapd à la place.


1 «Commutateur de service de nom», non «la sorcière de NSS»