こんにちは、Buggyです。
先日、Windows仮想デスクトップから、C#のアプリ経由でLinuxサーバのMySQLに接続しようとすると『System.Security.Authentication.AuthenticationException』エラーとなって接続できないという現象に遭遇しました。
しかし、HeidiSQLのようなオープンソースのソフトウェア経由ですと問題なく接続できる他、WindowsPCの実機を用いた場合も接続できたため「はて?」となりました。
C#のアプリ内では以下のようにMySQL接続を定義しておりました。
string Connection = "Server=192.168.1.1;Port=3306;Uid=username;Pwd=hogehoge;Database=dbname";
インフラ担当者にも問い合わせましたが「ネットワークの設定について両環境に違いはありません」とのこと。
色々と調べまして、最終的には末尾にSSL通信を無効とするオプションを追加することで無事にC#アプリ経由でMySQLへの接続に成功しました。
string Connection = "Server=192.168.1.1;Port=3306;Uid=username;Pwd=hogehoge;Database=dbname;SslMode=None";
「動けばヨシ!」と考えている最下層エンジニア(エンジニアとも呼べませんね・・・)ですので、これ以上調べることは致しません!