我已经在SO中尝试了所有可用的解决方案,但这仍在继续。我正在尝试将Workbench连接到安装在流浪盒中的Mysql。主机和客户都是Ubuntu 14.04。附件是截图。
现在出现错误:
日志如下
22:08:59 [INF][ SSH tunnel]: Existing SSH tunnel not found, opening new one
22:08:59 [INF][ SSH tunnel]: Opening SSH tunnel to 127.0.0.1:2222
22:08:59 [ERR][sshtunnel.py:notify_exception_error:233]: Traceback (most recent call last):
File "/usr/share/mysql-workbench/sshtunnel.py", line 298, in _connect_ssh
look_for_keys=has_key, allow_agent=has_key)
File "/usr/lib/mysql-workbench/modules/paramiko/client.py", line 307, in connect
look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host)
File "/usr/lib/mysql-workbench/modules/paramiko/client.py", line 519, in _auth
raise saved_exception
AuthenticationException: Authentication failed.
22:09:00 [ERR][ SSH tunnel]: Authentication error opening SSH tunnel: Authentication error. Please check that your username and password are correct and try again.
Details (Original exception message):
Authentication failed, please check credentials.
Please refer to logs for details
答案 0 :(得分:0)
这是一个棘手的问题,但我根据自己的经验做了一些建议。首先,当连接到另一台主机上的MySQL时,ssh是不必要的,因为通常通过端口3306进行连接。其次,我给你的Vagrant机器一个static private IP address,你可以在连接时使用主机。第三,我只是成功地以root身份连接(不确定原因),但看起来你已经这样做了。最后,默认情况下,MySQL只接受来自localhost的连接,在你的情况下,它是Vagrant机器。在Vagrant机器上的/etc/my.cnf中编辑此行...
bind-address = 127.0.0.1
...并将其更改为......
bind-address = 192.168.0.1
这是来自Vagrant机器的主机IP。或者,您可以将其更改为0.0.0.0或只是注释该行以允许来自任何地方的连接。确保在编辑文件后重新启动MySQL,然后再次尝试连接。
答案 1 :(得分:0)
我得到了同样的错误,这也让我疯了。然后我意识到我已将SSH服务器更改为其他端口。
当SSH服务器拒绝连接时,这必须是MySQL工作台显示的错误。
使用Vagrant我建议您确保可以从同一客户端或工作台SSH连接到该端口,但无法将其用作跳转框。