我在Amazon RDS上创建了一个mysql实例,它给了我以下设置:
我试图通过MySQL Workbench连接到这个mysql服务器,它总是说SSH隧道没有经过身份验证.
我试图通过命令提示符连接到服务器,它工作正常.这是我使用的命令:
mysql -h ['Endpoint' from setting] --ssl_ca=C:\Users\Jason\Downloads\mysql-ssl-ca-cert.pem -P 3306 - u ['Username' from setting] -p
这提示我输入密码,它工作正常!
现在,当我使用MySQL Workbench进行尝试时,我收到错误并在日志中说明了这一点:
error: [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 19:17:39 [ERR][ SSH tunnel]: Authentication error opening SSH tunnel: Authentication error, unhandled exception caught in tunnel manager, please refer to logs for details
这是设置:
SSH HostName: ['Endpoint' from settings] SSH Username: ['Username' from settings] SSH Password: password SSH Key File: C:\Users\Jason\Downloads\mysql-ssl-ca-cert.pem MySQL HostName: ['Endpoint' from settings] MySQL Server Port: 3306 Username: ['Username' from settings] Password: password same as SSH password Default Schema: ['DB Name' from settings]
需要注意的一点是,当我能够通过Workbench成功连接到服务器时,我在服务器上运行了以下命令.
GRANT USAGE ON *.* TO 'username'@'%' REQUIRE SSL;
我还在RDS上的"数据库安全组"下提供了本地IP地址(CIDR/IP)访问权限.