AWS MySQL ERROR 2026 (HY000): erro de conexão SSL:

3

Estou tentando conectar-me à minha instância do AWS RDS MySQL com terminal no OSX El Captain, mas continuo recebendo este erro:

ERROR 2026 (HY000): SSL connection error: error:00000001:lib(0):func(0):reason(1)

Esta é uma nova instalação do OSX, e eu usei brew para instalar o mysql junto com o openssl, eu posso conectar ao servidor local. Também parece que o ambiente de trabalho do MySQL funciona perfeitamente.

Minha máquina Ubuntu se conecta à instância do RDS bem por meio do terminal.

    
por leakybytes 04.12.2015 / 16:54

2 respostas

2

Eu tive o mesmo problema e percebi que estava fora! O brew provavelmente instalou o mysql 5.7, que, pelo que posso reunir, requer SSL a menos que especificado de outra forma por --skip-ssl . Você pode desinstalar o mysql executando brew uninstall mysql e depois instalando 5.5 executando brew install https://raw.githubusercontent.com/Homebrew/homebrew-versions/master/mysql55.rb && brew link homebrew/versions/mysql55 --force .

Concedido, isso não resolve o problema de corrigir o erro inicial, mas não encontrei nenhuma documentação sobre o motivo pelo qual o 5.7 difere do 5.5 de maneira tão nova. Boa sorte para você!

Editar: Ah! Aqui está a documentação :

--ssl

For the MySQL server, this option specifies that the server permits but does not require SSL connections. The option is enabled on the server side by default as of MySQL 5.7.5, and disabled before 5.7.5. Also as of MySQL 5.7.5, MySQL servers compiled using OpenSSL can generate missing SSL files automatically at startup. See Section 6.3.13.1, “Creating SSL and RSA Certificates and Keys using MySQL”.

Editar 2:

Outra opção, em vez de fazer o downgrade para 5.5, você pode abrir (ou criar) /etc/my.cnf ou /etc/mysql/my.cnf e adicionar o seguinte com seu mysql > 5.7.5:

[client]
ssl=0

Isso desativará o ssl nas conexões do cliente e se comportará como mysql < 5.7.5.

    
por 09.12.2015 / 16:50
0

- skip-ssl (ou --ssl-mode = DISABLED para o MySQL 8.0) não resolve este problema, apenas ignora isso.

O erro ocorre quando o handshake SSL encontra um erro, o MySQL não tem detalhes sobre isso, e este é um bug aberto: link

Você deve primeiro verificar seus certificados:

openssl verify -CAfile /etc/mysql/newcerts/ca-cert.pem /etc/mysql/newcerts/server-cert.pem /etc/mysql/newcerts/client-cert.pem

Em seguida, você deve seguir requisitos do MySQL para gerar chaves e certificados adequados, especialmente sobre valores de Nome Comum que devem ser diferentes: link

Aqui está uma maneira de gerar esses certificados, talvez não seja o melhor, mas funciona, de acordo com Apoio do Activ'Cloud :

Lado do servidor:

openssl genrsa 2048 > /tmp/cert/mysqld-ca-key.pem
openssl req -sha1 -new -x509 -nodes -days 3650 -key /tmp/cert/mysqld-ca-key.pem -subj "/C=FR/ST=/L=/O=mysqld/CN=mysqld-CA" > /tmp/cert/mysqld-ca-cert.pem
openssl req -sha1 -newkey rsa:2048 -days 3650 -nodes -keyout /tmp/cert/mysqld-server-key.pem -subj "/C=FR/ST=/L=/O=mysqld/CN=mysqld-server" > /tmp/cert/mysqld-server-req.pem
openssl rsa -in /tmp/cert/mysqld-server-key.pem -out /tmp/cert/mysqld-server-key.pem
openssl x509 -sha1 -req -in /tmp/cert/mysqld-server-req.pem -days 3650 -CA /tmp/cert/mysqld-ca-cert.pem -CAkey /tmp/cert/mysqld-ca-key.pem -set_serial 01 > /tmp/cert/mysqld-server-cert.pem

Lado do cliente:

openssl req -sha1 -newkey rsa:2048 -days 3650 -nodes -keyout /tmp/client-cert/mysql-client-key.pem > /tmp/client-cert/mysql-client-req.pem -subj "/C=FR/ST=/L=/O=mysql-client/CN=mysql-client"
openssl rsa -in /tmp/client-cert/mysql-client-key.pem -out /tmp/client-cert/mysql-client-key.pem
openssl x509 -sha1 -req -in /tmp/client-cert/mysql-client-req.pem -days 3650 -CA /tmp/cert/mysqld-ca-cert.pem -CAkey /tmp/cert/mysqld-ca-key.pem -set_serial 01 > /tmp/client-cert/mysql-client-cert.pem                                                                                                                                                                                                    

Copie os arquivos gerados para os lados do cliente e do servidor nos diretórios corretos.

Por fim, você pode tentar forçar sua lista de cifras: link

    
por 03.10.2018 / 10:24