MySQL Workbench con Debian Jessie: TCP/IP sobre SSH no funciona

MySQL Workbench con Debian Jessie: TCP/IP sobre SSH no funciona

Utilizo para conectarme con Windows 7 Pro x64 a mi servidor MySQL alojado en Debian Wheezy con el cliente MySQL Workbench usando "TCP/IP sobre SSH" pero no funciona en mi nuevo servidor en Debian Jessie, ¿por qué?


Configuración del banco de trabajo MySQL:

Connection Name: TEST
Connection Method: Standard TCP/IP over SSH

SSH Hostname: x.x.x.x:22
SSH Username: root
SSH Password: myRootPa$$word
SSH Key File: <NOT-USING-KEYFILE>

MySQL Hostname: 127.0.0.1
MySQL Server Port: 3306
Username: root
Password: myMySQLPa$$word

He verificado dos veces la dirección IP/nombre de host, nombre de usuario y contraseña...


Configuración del servidor Debian Wheezy:

root@debian:~# cat /etc/debian_version

7.8

mysql> seleccionar versión();

+------------------+
| version()        |
+------------------+
| 5.5.40-0+wheezy1 |
+------------------+
1 row in set (0.00 sec)

raíz@debian:~# cat /etc/ssh/sshd_config

Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
UsePrivilegeSeparation yes

KeyRegenerationInterval 3600
ServerKeyBits 768
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes

IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes

AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes

Configuración del servidor Debian Jessie:

root@debian:~# cat /etc/debian_version

8.0

mysql> seleccionar versión();

+-----------------+
| version()       |
+-----------------+
| 5.5.43-0+deb8u1 |
+-----------------+
1 row in set (0.00 sec)

raíz@debian:~# cat /etc/ssh/sshd_config

Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation yes

KeyRegenerationInterval 3600
ServerKeyBits 1024
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes

IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes

AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes

Entonces, la diferencia ServerKeyBitsentre los dos archivos sshd_config...


El error MySQL Workbench 6.3.3 me da cuando intento conectarme alJessie debianservidor:

Could not connect the SSH Tunnel
Authentication error, unhandled exception caught in tunnel manager, please refer to logs for details

El archivo de registro:

10:00:04 [INF][     SSH tunnel]: Starting tunnel
10:00:04 [INF][     SSH tunnel]: Existing SSH tunnel not found, opening new one
10:00:07 [INF][     SSH tunnel]: Opening SSH tunnel to 10.232.50.15:22
10:00:07 [WRN][sshtunnel.py:_connect_ssh:287]: IOError, probably caused by file C:\Users\myUser\AppData\Roaming\MySQL\Workbench\ssh\known_hosts not found, the message was: [Errno 2] No such file or directory: u'C:\\Users\\myUser\\AppData\\Roaming\\MySQL\\Workbench\\ssh\\known_hosts'
10:00:07 [ERR][sshtunnel.py:notify_exception_error:233]: Traceback (most recent call last):
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE\sshtunnel.py", line 297, in _connect_ssh
    look_for_keys=has_key, allow_agent=has_key)
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE/python/site-packages\paramiko\client.py", line 301, in connect
    t.start_client()
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE/python/site-packages\paramiko\transport.py", line 461, in start_client
    raise e
SSHException: Incompatible ssh peer (no acceptable kex algorithm)

10:00:07 [INF][     SSH tunnel]: TunnelManager.wait_connection authentication error: Authentication error, unhandled exception caught in tunnel manager, please refer to logs for details
10:00:07 [ERR][     SSH tunnel]: Authentication error opening SSH tunnel: Authentication error, unhandled exception caught in tunnel manager, please refer to logs for details

Más información:

La carpeta "ssh" no está presente en:

C:\Users\myUser\AppData\Roaming\MySQL\Workbench

Reglas de firewall en ambos servidores:

root@debian:~# iptables -vnL

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Puedo conectarme con SSH (KiTTY) en ambos servidores...


Probé dos versiones diferentes de MySQL Workbench:

Version 6.3.3.0 build 592 (64 bits)
Version 6.0.9.11421 build 1170 (32 bits)

Estas dos versiones funcionan con Debian Wheezy pero no con Debian Jessie. ¿Qué me estoy perdiendo?

Respuesta1

De acuerdo ahttps://bugs.mysql.com/bug.php?id=74658El problema se presenta cuando se usa openssh 6.7, las bibliotecas de Python incluidas con MySql Workbench. Mientras agrega "KexAlgorithms" a la configuración sshd, puede actualizar las bibliotecas de Python que vienen con MySql Workbench. Esto puede ser útil si no tienes control sobre la configuración de sshd...

Si se desplaza hacia abajo en el informe de errores, hay instrucciones para descargar y copiar las bibliotecas paramiko y ecdsa.

Respuesta2

He encontrado la solución.

Agregué esta línea a mi /etc/ssh/sshd_configarchivo:

KexAlgorithms [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

y reinicié ssh: systemctl restart ssh

como lo sugiere esta publicación: https://stackoverflow.com/questions/26577494/aptana-sftp-key-exchange

Respuesta3

Dado que hay mucho por recorrer en la respuesta de bigmandan, creo que podría tener sentido publicarla también aquí para que sea más fácil de encontrar.

Para ventanas, esta es la solución. [3 de junio de 2015 15:27] Mike Hadrup También probado en Windows 10 de 64 bits con MySQL Workbench 6.3.3.0 (592) msi y noinstall contra Debian 8 Jessie con OpenSSH 6.7

Puedes usar 7zip desdehttp://www.7-zip.org/para el archivo tar gizpeado ecdsa-0.13.tar.gz.

Nota: Se requieren paquetes redistribuibles de Visual C++ para Visual Studio 2013 en Windows 10 desde:https://www.microsoft.com/en-us/download/details.aspx?id=40784

En OS X, copie las bibliotecas paramiko y ecdsa en: /Applications/MySQLWorkbench.app/Contents/Resources/libraries

Respuesta4

En Linux (y evitando TOTALMENTE el problema), me resultó más simple y limpio crear manualmente mi propio túnel ssh para que lo use mysql-workbench:

ssh raíz@host -L 3307:localhost:3306

Esto crea un túnel ssh desde su puerto local 3307 al puerto local remoto 3306.Entonces simplemente configura mysql-workbench para conectarse a localhost:3307.

información relacionada