У меня есть MySQL (MariaDB), установленный на Ubuntu 14.04 для аутентификации пользователей из нашего экземпляра OpenLDAP, используя документацию здесь . Когда я подключаюсь к серверу по ssh и запускаю mysql -u user101 -p
, я могу без проблем пройти аутентификацию (user101 является пользователем LDAP; у него нет пароля в mysql). Когда я пытаюсь использовать удаленное соединение, аутентификация завершается ошибкой:
$ mysql --ssl -u user101 -p -h myserver
Enter password:
ERROR 2059 (HY000): Authentication plugin 'dialog' cannot be loaded: /usr/lib/mysql/plugin/dialog.so: cannot open shared object file: No such file or directory
На сервере консоль выдаёт следующее сообщение:
# 2017 Jul 18 08:27:05 myserver pam_unix(mysql:auth): auth could not identify password for [user101]
Документация здесь упоминает плагин dialog
, но говорит Нет необходимости устанавливать или включать что-либо , поэтому не знаю, что делать. Я не компилировал и не устанавливал pam_user_map.c
, как указано в этой ссылке, поскольку локальная аутентификация работала нормально.
Я дал пользователю удаленный доступ, используя %
в имени хоста для Запись mysql:
CREATE USER 'user101'@'%' IDENTIFIED VIA pam USING 'mariadb';
GRANT ALL PRIVILEGES ON test.* TO 'user101'@'%' IDENTIFIED VIA pam;
Я предполагаю, что остальная часть настройки LDAP (из документации) верна, иначе сервер не аутентифицирует пользователя локально. Что-то мне не хватает? Почему это работает локально, а не удаленно?