MariaDB OpeLDAP身份validation在本地工作,而不是远程?

我在Ubuntu 14.04上安装了MySQL(MariaDB),使用这里的文档对我们的OpenLDAP实例的用户进行身份validation。 当我SSH入服务器和问题mysql -u user101 -p我可以authentication就好(user101是一个LDAP用户;没有密码在MySQL中)。 当我尝试使用远程连接时,身份validation将失败:

 $ 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 ,因为本地authentication工作正常。

我已经给mysql用户的主机名使用%进行远程访问:

 CREATE USER 'user101'@'%' IDENTIFIED VIA pam USING 'mariadb'; GRANT ALL PRIVILEGES ON test.* TO 'user101'@'%' IDENTIFIED VIA pam; 

我假设其余的LDAP设置(从文档)是正确的,或者服务器不会在本地validation用户。 有什么我失踪? 为什么这会在本地工作,但不是远程?

如果你想使用mysql客户端而不是mariadb客户端,你需要传递下面的选项: mysql --enable-cleartext-plugin --ssl -u user101 -p -h myserver

这样做(在客户端) aptitude install libmariadbclient18