MacOS Sierra上的MySQL Workbench抱怨关于pkcs1_15加密

时间:2017-08-10 17:50:17

标签: ssms mysql-workbench mysql-odbc-connector

在MacOS Sierra尝试通过标准TCP / IP通过SSH进行连接时,错误输出:

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

谷歌告诉我,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

任何人都遇到了这个问题并找到了解决它的工作方法吗?

目前正在使用:

  • Workbench 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-

2 个答案:

答案 0 :(得分: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(build 10690321)可用。所以我下载,安装了,然后我才能连接。

答案 1 :(得分:0)

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

  1. 确保您已安装pip
  2. 通过pip
  3. 安装paramiko
  4. 从Workbench库中删除paramiko目录
  5. 使用 工作 SSH隧道功能启动Workbench
  6. 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