【发布时间】:2014-11-14 05:41:00
【问题描述】:
我有一个带有 MySQL 和 Cygwin 的远程 Windows 服务器(启用远程 SSH 连接)。当我从 Workbench 的本地实例(即使用 Workbench 处理隧道)以 root 身份通过 SSH 连接时,连接到远程数据库没有问题。
我需要建立自己的隧道,因为我有另一个需要访问 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 连接是无 IP 地址,隧道设置是 Source:3307, Destination: myremoteserver.no-ip.com:3306, Local and Auto。
编辑:我也在 Putty 隧道设置中尝试将127.0.0.1:3306 作为目标地址并得到相同的结果。
【问题讨论】: