我使用的是OSX,我有问题将MySQL工作台连接到我的流浪者。
我有这个配置:
vagrant密码是vagrant,mysql密码是root
我有这个错误
我真的不知道错误是在mysql连接还是ssh连接上
ssh vagrant@33.33.33.15
有效
MySQL工作台连接到ssh
时出错14:58:42 [INF][ SSH tunnel]: Existing SSH tunnel not found, opening new one
14:58:42 [INF][ SSH tunnel]: Opening SSH tunnel to 33.33.33.15
14:58:42 [ERR][sshtunnel.py:notify_exception_error:233]: Traceback (most recent call last):
File "/Applications/MySQLWorkbench.app/Contents/Resources/sshtunnel.py", line 257, in _connect_ssh
self._client.load_host_keys(os.path.expanduser(ssh_known_hosts_file))
File "/Applications/MySQLWorkbench.app/Contents/Resources/libraries/paramiko/client.py", line 176, in load_host_keys
self._host_keys.load(filename)
File "/Applications/MySQLWorkbench.app/Contents/Resources/libraries/paramiko/hostkeys.py", line 155, in load
e = HostKeyEntry.from_line(line)
File "/Applications/MySQLWorkbench.app/Contents/Resources/libraries/paramiko/hostkeys.py", line 67, in from_line
key = RSAKey(data=base64.decodestring(key))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/base64.py", line 321, in decodestring
return binascii.a2b_base64(s)
Error: Incorrect padding
14:58:42 [INF][ SSH tunnel]: TunnelManager.wait_connection returned OK
14:58:42 [INF][sshtunnel.py:set_keepalive:471]: SSH KeepAlive setting skipped.
14:58:42 [INF][ SSH tunnel]: SSH tunnel connect executed OK
我已经尝试在我的流浪注释bind-address上编辑my.cnf,或者将bind-address设置为0.0.0.0,但我遇到同样的问题。
编辑:我在真实服务器上有同样的错误
答案 0 :(得分:2)
今天我遇到了同样的问题,并将其追溯到我的〜/ .ssh / known_hosts文件中的攻击性条目。
解决此问题的方法是将〜/ .ssh / known_hosts移动到〜/ .ssh / known_hosts_test,然后再次在MySQL Workbench中尝试连接。
我发现我最近连接的主机给我留下了一个MySQL工作台并不喜欢的known_hosts条目。日志中的错误消息与您的相同,只是删除known_hosts中的最后几个条目为我解决了这个问题。
干杯!
答案 1 :(得分:2)
这可能是由于底层paramiko
python lib不兼容,不支持服务器的新密钥交换方法(即ECDH)......
不幸的是,直到今天,MySQL-dev还没有升级他们的lib。
可能的解决方法是自己创建ssh隧道:
ssh -L 3306:localhost:3306 vagrant@33.33.33.15
然后通过MySQL-Workbench直接连接到localhost:3306
。