Аутентификация MariaDB OpeLDAP работает локально, а не удаленно?

У меня есть 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 (из документации) верна, иначе сервер не аутентифицирует пользователя локально. Что-то мне не хватает? Почему это работает локально, а не удаленно?

1
задан 18 July 2017 в 18:10
2 ответа

Это помогло (на клиенте) aptitude install libmariadbclient18

0
ответ дан 3 December 2019 в 23:28

Если вы хотите использовать клиент mysql, а не клиент mariadb, вам необходимо передать следующую опцию: mysql --enable-cleartext-plugin --ssl -u user101 -p -h myserver

1
ответ дан 3 December 2019 в 23:28

Теги

Похожие вопросы