Se você quiser usar o cliente mysql ao invés do cliente mariadb, você precisa passar a seguinte opção:
mysql --enable-cleartext-plugin --ssl -u user101 -p -h myserver
Eu tenho a configuração do MySQL (MariaDB) no Ubuntu 14.04 para autenticar usuários de nossa instância do OpenLDAP usando a documentação aqui . Quando eu ssh no servidor e emito mysql -u user101 -p
eu posso autenticar muito bem (user101 é um usuário LDAP; não tem uma senha no mysql). Quando tento usar uma conexão remota, a autenticação falha com:
$ 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
No servidor, o console exibe esta mensagem:
# 2017 Jul 18 08:27:05 myserver pam_unix(mysql:auth): auth could not identify password for [user101]
A documentação aqui menciona o plug-in dialog
, mas diz Não há precisa instalar ou ativar qualquer coisa , então não tenho certeza do que fazer. Eu não compilei nem instalei pam_user_map.c
como mencionado no link, pois a autenticação local funcionou bem.
Eu dei ao usuário acesso remoto usando %
no nome do host para a entrada mysql:
CREATE USER 'user101'@'%' IDENTIFIED VIA pam USING 'mariadb';
GRANT ALL PRIVILEGES ON test.* TO 'user101'@'%' IDENTIFIED VIA pam;
Suponho que o restante da configuração LDAP (dos documentos) esteja correto ou o servidor não autentique o usuário localmente. Tem algo que estou perdendo? Por que isso funcionaria localmente, mas não remotamente?
Se você quiser usar o cliente mysql ao invés do cliente mariadb, você precisa passar a seguinte opção:
mysql --enable-cleartext-plugin --ssl -u user101 -p -h myserver
Isso foi feito (no cliente)
aptitude install libmariadbclient18
Tags mariadb openldap ubuntu-14.04