Pythonを使用するUbuntuサーバーで.pemファイルを使用したODBC認証

Pythonを使用するUbuntuサーバーで.pemファイルを使用したODBC認証

以下の3つのPEMファイルを使用して、WindowsがMySQLデータベースに正常に接続し、データソースを設定できました。 (ここでは問題ありません)

  • クライアント-key.pem
  • クライアント証明書.pem
  • ca-cert.pem

しかし、Ubuntu Server 10.04でPythonコードを介して接続することもできます。 PythonとMySQL Pythonコネクタの設定があります。ただし、期待どおりに資格情報のみを接続しようとすると失敗します。なぜなら、これらの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)**
**>>>**

検索に基づいて試しましたが、進展はありませんでした。

  • 3コピー.pemファイルを送信する/usr/share/ca-証明書/〜のように.crt文書。
  • Ranは sudo update-ca-certificatesこれを次に追加します/etc/ssl/certs/ca-certificates.crt文書。

私はLinuxの専門家ではなく、私が遭遇するすべてを試してみるだけです。したがって、以前にこれを行ったことがある人は、あなたの助けに心から感謝します。

答え1

    >>>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')

関連情報