jmo*_*era 2 mysql rds mysql-workbench amazon-web-services
我在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
Run Code Online (Sandbox Code Playgroud)
这提示我输入密码,它工作正常!
现在,当我使用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
Run Code Online (Sandbox Code Playgroud)
这是设置:
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]
Run Code Online (Sandbox Code Playgroud)
需要注意的一点是,当我能够通过Workbench成功连接到服务器时,我在服务器上运行了以下命令.
GRANT USAGE ON *.* TO 'username'@'%' REQUIRE SSL;
Run Code Online (Sandbox Code Playgroud)
我还在RDS上的"数据库安全组"下提供了本地IP地址(CIDR/IP)访问权限.
Mik*_*hke 14
如果来自命令行的连接显然不使用SSH,为什么要在MySQL Workbench中尝试SSH选项?从连接设置中删除它.
而是设置正常的TCP/IP连接,将MySQL主机设置为您的端点.切换到SSL设置页面并激活SSL +设置您的证书文件位置,就像在命令行上一样.
其他信息:
SSH用于MySQL Workbench与远程系统的通信(文件访问,服务器控制等,另请参见http://en.wikipedia.org/wiki/Secure_Shell).如果您只想进行MySQL工作(运行查询),则不需要SSH连接.它需要在端点上运行SSH服务器来创建隧道.如果要管理服务器(编辑配置文件,控制服务器进程等)或服务器无法直接访问(例如,防火墙后面不允许与MySQL通信),则需要创建SSH连接端口,出于安全原因).对于Windows,使用WMI可以为本地网络提供额外的解决方案.
SSL是MySQL客户端和服务器之间通信的加密(http://en.wikipedia.org/wiki/Transport_Layer_Security).它是MySQL用于通信的协议的一部分,完全独立于MySQL Workbench或任何SSH隧道.
| 归档时间: |
|
| 查看次数: |
7087 次 |
| 最近记录: |