我有一个运行MySQL的Amazon RDS实例。 我已经创build了一个用户帐户,并且我已经configuration了MySQL,要求所有login帐户都使用SSL。
我希望MySQL客户端能够对服务器进行身份validation,以确保不会发生中间人攻击。 MySQL命令行客户机有一个选项,即--ssl-verify-server-cert 。 但是,当我尝试它时,我得到以下,无意义的错误消息:
错误2026(HY000):SSL连接错误
所以这个命令工作正常:
mysql --host $ RDS_host --user $ username \ --password = $ password \ --ssl -ca mysql-ssl-ca-cert.pem -e'\ s'
但是,如果我添加选项--ssl-verify-server-cert ,则会收到刚刚引用的错误消息。 (顺便说一下,CA文件是从https://rds.amazonaws.com/doc/mysql-ssl-ca-cert.pem获得的。)
有没有办法让这个选项工作?
从某种意义上说,这个选项不起作用也就不足为奇了,因为亚马逊的文档(使用右边的框架)陈述如下:
Amazon RDS中的SSL支持严格用于encryption客户端和数据库实例之间的连接; 不应该依赖它来validation服务器。
然而,从亚马逊的angular度来看,我并不明白这个问题在哪里。 在我看来,他们可以很容易地configuration他们的服务器,以便我可以使用--ssl-verify-server-cert 。