MySQL服务器拒绝SSH隧道的本地连接

时间:2014-11-12 05:38:25

标签: mysql ssh putty

我有一个带MySQL和Cygwin的远程Windows服务器(启用远程SSH连接)。当我从Workbench的本地实例(即使用Workbench处理隧道)连接时,通过SSH作为root连接,我连接到远程数据库没有问题。

我需要设置自己的隧道,因为我有另一个需要MySQL访问的应用程序。我选择使用Putty,但只获得了部分成功。

我可以通过我的隧道localhost:3307连接(使用Workbench作为测试客户端),我已转发到myremoteserver.no-ip.com:3306,仅当我将远程root用户设置为接受连接时来自所有主机(%),和/或服务器的实际IP。

如果我将root限制为127.0.0.1(应该是这样),我得到错误Host x.x.x.x is not allowed to connect to this MySQL server,其中x.x.x.x是远程服务器的实际地址!

不知何故,使用Putty制作隧道并不能将我作为本地连接。而是作为远程连接,即使远程IP是远程服务器的IP

我的问题:我如何设置putty来模仿Workbench成功建立隧道连接的方式?

注意:我与远程IP的所有连接都是通过无IP地址。这在Workbench打开隧道时有效。我的服务器也在AWS EC2生态系统中运行。

我当前的Putty连接是no-ip地址,隧道设置为Source:3307, Destination: myremoteserver.no-ip.com:3306, Local and Auto

编辑:我还尝试127.0.0.1:3306作为Putty隧道设置中的目标地址,并得到了相同的结果。

1 个答案:

答案 0 :(得分:1)

  

我当前的Putty连接是no-ip地址和隧道连接   设置来源:3307,目的地:myremoteserver.no-ip.com:3306,   本地和自动。

您希望将mysql的远程实例限制为仅接受localhost接口上的连接,因此您的隧道应转发到远程主机的localhost接口而不是其网络接口。将隧道的目标地址更改为127.0.0.1,而不是服务器名称。

相关问题