Autenticação ODBC com arquivos .pem no servidor Ubuntu com Python

0

Usando os 3 arquivos PEM abaixo, eu consegui conectar-me com sucesso a um banco de dados MySQL no Windows e configurei uma fonte de dados. (Sem problemas aqui)

  • client-key.pem
  • client-cert.pem
  • ca-cert.pem

Mas eu também quero poder conectar via código Python em um servidor Ubuntu 10.04. Eu tenho o Python e a configuração do MySQL Python Connector. Mas, como esperado, falha ao tentar se conectar apenas com as credenciais, uma vez que são necessárias autorizações para esses certificados PEM.

**>>>** import mysql.connector
**>>>** cnx = mysql.connector.connect(user='odbc_user', password='mypassword',host='00.00.000.000',database='mydb')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.6/dist-packages/mysql/connector/__init__.py", line 179, in connect
    return MySQLConnection(*args, **kwargs)
  File "/usr/local/lib/python2.6/dist-packages/mysql/connector/connection.py", line 95, in __init__
    self.connect(**kwargs)
  File "/usr/local/lib/python2.6/dist-packages/mysql/connector/abstracts.py", line 719, in connect
    self._open_connection()
  File "/usr/local/lib/python2.6/dist-packages/mysql/connector/connection.py", line 210, in _open_connection
    self._ssl)
  File "/usr/local/lib/python2.6/dist-packages/mysql/connector/connection.py", line 144, in _do_auth
    self._auth_switch_request(username, password)
  File "/usr/local/lib/python2.6/dist-packages/mysql/connector/connection.py", line 177, in _auth_switch_request
    **raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1045 (28000): Access denied for user 'odbc_user'@'hide.ec2' (using password: YES)**
**>>>**

O que tentei com base em pesquisas, mas sem progresso:

  • Copiou os três arquivos .pem para / usr / share / ca-certificates / como arquivos .crt .
  • Ran sudo update-ca-certificates , que os adicionou ao arquivo /etc/ssl/certs/ca-certificates.crt .

Eu não sou um guru do Linux e estou apenas tentando qualquer coisa que me depare, por isso, se alguém fez isso antes, eu agradeceria muito a ajuda.

    
por SupermanKelly 19.10.2016 / 10:58

1 resposta

0

    >>>import mysql.connector
    >>>cnx = mysql.connector.connect(user='odbc_user', password='password',host='00.00.00.000',database='database',
        ssl_ca='/home/akelly/ca-cert.pem',
        ssl_cert='/home/akelly/client-cert.pem',
        ssl_key='/home/akelly/client-key.pem')
    
por 19.10.2016 / 16:01