$ sudo pam-auth-update [sudo] password for romain: LDAP Password:
Файл
$ cat /etc/security/group.conf
полностью прокомментирован
Я не использовал 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
Я не использовал пункт [LDAP Host Access Authorization]. Нужно ли мне ?
РЕДАКТИРОВАТЬ 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 chacha20-poly1305@openssh.com <implicit> none debug1: kex: client->server chacha20-poly1305@openssh.com <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).
РЕДАКТИРОВАТЬ 3
Добавление пользовательского хеша pwd на сервере ldap (см. Дамп пользователя в начале)
РЕДАКТИРОВАТЬ 4
Следуя предложению @grawity, я установил 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) ...
Затем я сконфигурировал, /etc/nslcd.confна котором заметил, что не указывал, что нужно использовать ldap version3 (я не знаю, какая версия по умолчанию?):
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:
romain@pb$ sudo service nslcd restart
и попытался подключиться с моего Mac:
romain@Mac:~$ ssh pduchesne@pb
который работал ... вроде:
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
Новый вопрос (для редактирования 4)
Почему я не меняю пользователя? Я ожидал войти в 'pb' как 'pduchesne': - /
Старый вопрос (до правки 4)
Я не знаю, какие файлы проверять - любые советы приветствуются.
Вы настроили PAM?
grawity 7 лет назад
0
Хороший вопрос, какой файл я должен проверить, если PAM настроен?
Romain Jouin 7 лет назад
0
мне кажется PAM настроен?
Romain Jouin 7 лет назад
0
1 ответ на вопрос
0
grawity
Показанная вами конфигурация фактически не упоминает ничего, что можно было бы использовать для аутентификации; т.е. нет способа проверки введенного пароля.
Ваша NSSwitch 1 конфигурация имеет shadow: ldap, но ваш дамп объекта пользователя фактически не говоря уже о какой - либо «тени» атрибуты - так что нет никакой информации, которая getent shadowможет извлечь. Хотя это нормально, потому что раскрытие теневой информации через LDAP в любом случае не будет очень безопасным.
Вместо этого вы должны установить pam_ldap(libpam-ldapd), который пытается аутентифицироваться (связываться) с сервером LDAP, используя заданный пароль. Для этого необходимо поместить хэш пароля в формате LDAP в userPasswordатрибут пользователя (который также отсутствует в вашем дампе).
Обратите внимание, что автономный libnss-ldap (и libpam-ldap) имеет несколько недостатков и в основном устарел - у вас будет гораздо более надежная конфигурация с nslcd + libnss-ldap d + libpam-ldapd.
1 «Сервисный коммутатор имен», а не «Ведьма НСС»
Q1: «необходимо поместить хэш пароля в формате LDAP в атрибут userPassword пользователя» => как мы это делаем?
Romain Jouin 7 лет назад
0
Q2: "атрибут userPassword пользователя (который также отсутствует в вашем дампе)" => дамп, на который вы ссылаетесь, это дамп ldap? (то есть: 'dn cn = patricia duchesne, ou = пользователи, dc = меморандум, dc = pro' и т. д ...?)
Romain Jouin 7 лет назад
0