【问题标题】:Integrating SSL with MySql将 SSL 与 MySql 集成
【发布时间】:2013-03-13 21:57:30
【问题描述】:

我正在尝试通过引用thismysql 设置ssl
我能够完成前 3 个步骤,但第 4 个步骤有问题,如下所示:

GRANT ALL PRIVILEGES ON *.* TO 'ssluser'@'localhost' IDENTIFIED BY 'ssluser' REQUIRE SSL;

当我尝试运行mysql -ussluser -pssluser -P3430 --ssl-key=时执行此语句后,它显示以下错误:Can't connect to MySql server on 'localhost' (10061)

我尝试使用mysql -ussluser -pssluser 连接到 mysql,但它显示:Access denied for user 'ssluser'@'localhost' (using password: YES)

当我已经执行了 GRANT 语句时,它怎么会说 Access Denied

请注意,我使用 GRANT atetement 之前执行了mysql -ussluser -pssluser,并且我能够连接到mysql。我此时执行mysql> CHANGE MASTER TO MASTER_SSL=1;(这应该启用 SSL ???)。

另外,如果我尝试SHOW GRANTS FOR 'ssluser'@'localhost';
我明白了

GRANT ALL PRIVILEGES ON *.* TO \'ssluser\'@\'localhost\' IDENTIFIED BY PASSWORD \'*C56A6573BEE146CB8243543295FD80ADCE588EFF\' REQUIRE SSL WITH GRANT OPTION

我尝试了几天,但一无所获。任何帮助表示赞赏。

编辑1

当我使用show global variables like 'have_%ssl'; 我得到

have_openssl    DISABLED
have_ssl        DISABLED

当我使用这个 SHOW STATUS LIKE 'Ssl_cipher'; 时,我得到了

Ssl_cipher  _________

另外,我已经创建了所有经过认证的服务器和客户端,并将它们放在certs 根目录内的certs 目录中。

【问题讨论】:

  • 你做了FLUSH PRIVILEGES;吗?
  • 回复 10061 消息 - 您是否在正确的端口上连接到 mySQL?你是如何连接到 mySQL 的?
  • 第 5 步如何:更新配置文件并重新启动服务器?在那之前,MySQL 不会知道使用 ssl 连接
  • @Pekka웃 : 3306 是我的默认端口。我也可以与 root 连接,但无需在 GRANT 中使用 REQUIRE SSL
  • @Mchl : 已经尝试过 : 但没有帮助 :(

标签: mysql ssl access-denied


【解决方案1】:

您没有提供有关服务器或客户端操作系统的任何信息,也没有提供可执行文件的来源,也没有提供 DBMS 的配置方式。

mysql -ussluser -pssluser -P3430 --ssl-key=

IIRC,当您设置用户帐户以提供客户端证书进行身份验证时使用 ssl-key 选项(GRANT....REQUIRE X509;)。在这种情况下,您需要给它一个客户端证书文件作为参数。

但您只是说它应该使用 SSL - 即客户端对于 SSL 目的是匿名的。但是客户端仍然需要验证服务器 - 因此 mysql 应该以 --ssl-ca=ca-cert.pem 或 --ssl-capath=directory_name 启动。

您还需要确保服务器已配置为支持 SSL - ini 文件或启动脚本应包含对其将要使用的证书的引用以及它处理 SSL 连接的端口。此外,必须将 SSL 支持编译到二进制文件中,并且任何相关的共享对象文件都可用。如果配置说 SSL,但 DBMS 不能做 SSL,那么你应该从服务器日志中得到一些指示。

【讨论】:

  • 当你说--ssl-ca=ca-cert.pem时,它暗示了mysql -ussluser -pssluser -P3430 --ssl-ca="C:\Program Files\MySQL\MySQL Server 5.5\certs\ca-cert.pem"这样的东西,对吗?
  • 出现以下错误:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
  • 另外,你能指导我完成你答案的最后一段吗?
  • 评论 1:是的。评论 2:您是否检查过 ca-cert 捆绑包中是否包含您用于证书的 ca?评论 3:除非我能按小时计费
  • 我没有收到您与评论 2 相关的回复?
猜你喜欢
  • 1970-01-01
  • 2014-08-16
  • 2016-03-20
  • 1970-01-01
  • 1970-01-01
  • 2022-11-17
  • 1970-01-01
  • 1970-01-01
  • 2018-03-08
相关资源
最近更新 更多