1

在 MacOS Sierra 上尝试通过标准 TCP/IP 通过 SSH连接时出错:

Authentication error, unhandled exception caught in
tunnel manager, please refer to logs for details

Google 告诉我,这个错误消息是在 2015/2016 年遇到的,与当时与 Workbench 捆绑的过时 paramiko 有关。我查看了日志 ( ~/Library/Application Support/MySQL/Workbench/log/wb.log),发现与 2015/2016 年报告的错误不同:

13:24:46 [INF][     SSH tunnel]: Opening SSH tunnel to myproxy.example.com
13:24:47 [ERR][sshtunnel.py:notify_exception_error:235]: Traceback (most recent call last):
  File "/Applications/MySQLWorkbench.app/Contents/Resources/sshtunnel.py", line 303, in _connect_ssh
    look_for_keys=has_key, allow_agent=has_key, timeout=SSH_CONNECTION_TIMEOUT)
  File "/Applications/MySQLWorkbench.app/Contents/Resources/libraries/paramiko/client.py", line 325, in connect
    t.start_client()
  File "/Applications/MySQLWorkbench.app/Contents/Resources/libraries/paramiko/transport.py", line 492, in start_client
    raise e
NotImplementedError: Use module Crypto.Signature.pkcs1_15 instead

有人遇到这个问题并找到解决方法来让它工作吗?

目前使用:

  • 工作台 6.3(64 位)
  • MacOS Sierra 10.12.6

更新

在尝试插入更新的 paramiko (2.2.1) 版本后,Applications/MySQLWorkbench.app/Contents/Resources/Libraries/paramiko它现在提供一个错误,指出它无法使用以下日志启动 SSH 隧道:

13:46:07 [INF][     SSH tunnel]: Starting tunnel
13:46:07 [ERR][         python]: Error running file /Applications/MySQLWorkbench.app/Contents/Resources/sshtunnel.py
13:46:07 [WRN][               ]: Tunnel manager could not be executed

尝试使用最新的 1.x 版本的 paramiko (1.18.3) 它提供了与上面相同的 Crypto.Signature.pkcs1_15 错误。

服务器上支持的密钥交换是:

diffie-hellman-group1-sha1
diffie-hellman-group14-sha1
diffie-hellman-group-exchange-sha1
diffie-hellman-group-exchange-sha256
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
diffie-hellman-group1-sha1
curve25519-sha256@libssh.org
gss-gex-sha1-
gss-group1-sha1-
gss-group14-sha1-
4

2 回答 2

0

我的解决方案:

我安装了 MySQL Workbench 6.3(但实际上是 6.3.4.0 build 828)。从 MySQL Workbench,我会去帮助 -> 检查更新,它总是说我在最新版本上。

阅读此线程后:https ://serverfault.com/questions/692060/mysql-workbench-with-debian-jessie-tcp-ip-over-ssh-does-not-work

我尝试了各种 paramiko 更新,但没有运气。

最后,我去了这里: https ://dev.mysql.com/downloads/workbench/

然后我看到 v6.3.9(内部版本 10690321)可用。所以我下载,安装,我能够连接。

于 2017-08-23T17:24:15.400 回答
0

看来更新 Paramiko 确实是让 SSH 隧道在 Workbench 中工作的关键。安装 Paramiko 2.2.1(当时最新)及其依赖项并删除捆绑的 Paramiko 使其工作。如果您按照以下步骤操作,这可以在 MacOS Sierra (10.12.6) 上为我工作。

  1. 确保您已pip安装
  2. paramiko通过 pip安装
  3. paramiko从 Workbench 库中删除目录
  4. 使用有效的SSH 隧道功能启动 Workbench

sudo easy_install pip
sudo pip install paramiko
sudo mv /Applications/MySQLWorkbench.app/Contents/Resources/libraries/paramiko /Applications/MySQLWorkbench.app/Contents/Resources/libraries/paramiko-old
于 2017-09-07T12:58:24.453 回答