Nach einem Update eines Servers auf Debian 8 Jessie war ein Verbindungsaufbau von einer MySQL-Workbench über einen SSH-Tunnel zu diesem Server nicht mehr möglich. Das Logfile der MySQL-Workbench (unter Windows in %APPDATA%\MySQL\Workbench\log\wb.log zu finden) enhält folgende Fehlermeldung:
SSHException: Incompatible ssh peer (no acceptable kex algorithm)
Grund für die Fehlermeldung ist, dass das in der aktuellen MySQL-Workbench 6.3 CE verwendete Python-Modul (paramiko), welches für den Verbindungsaufbau über einen SSH-Tunnel zuständig ist, sich in der Version 1.7.7.1 nicht mehr mit der nun auf dem Server installierten OpenSSH-Version 6.7 versteht.
Seitenhieb an Oracle: paramiko 1.7.7.1 ist vom 23.05.2011!
Zur Fehlerbehebung unter Windows muss das Python-Modul paramiko manuell aktualisiert werden. Ab der Version 1.12 von paramiko wird zusätzlich das Python-Modul ecdsa benötigt. Beide Module können von Github heruntergeladen werden: paramiko, ecdsa.
In den heruntergeladenen Archiven findet sich jeweils ein Ordner paramiko und ecdsa. Beide müssen nach C:\Program Files\MySQL\MySQL Workbench 6.3 CE\python\site-packages kopiert werden. Der bereits dort vorhandenen Ordner paramiko sollte vorher gelöscht werden.
Die Verzeichnisstruktur sollte anschließend wie folgt aussehen:
Nach einem Neustart der MySQL-Workbench ist dann auch wieder ein Verbindungsaubau über einen SSH-Tunnel möglich sein, wenn die Gegenseite Debian 8 bzw. OpenSSH 6.7 einsetzt.
Weiterführende Links:
super artikel hat mir geholfen danke
Danke.
Die gallopierende Inkompetenz von den Leuten die diese Software zusammen klatschen erstaunt mich immer wieder.
Das liegt eher daran, dass Oracle "etwas" langsam ist. OpenSSH hat einige, zwischenzeitlich als unsicher geltende Verschlüsselungsverfahren deaktiviert. Damit kommt das in der Workbench verbaute alte Paramiko nicht zurrecht. Aus der Tatsache, dass Oracle beim Aktualisieren von sicherheitsrelevanten Softwarebestandteilen derart schlampt, mag jeder selbst seine Schlüsse ziehen.