2015-10-16 144 views
0

我试图通过SSH连接到MySQL Workbench远程数据库。我尝试连接的远程数据库具有防火墙,这是私钥保护(我已经将此转换为OPEN SHH)。当我尝试连接时,我不断收到错误信息,我只是对我应该使用的数据库的信息有些困惑。我始终看到人们使用本地主机,而DB在不同问题的同一时刻间歇性地改变。我的设置目前是我必须连接到防火墙的服务器(检查),现在有多个虚拟机正在运行,我希望连接到例如192.1.91.0。我还在localhost 5000上建立了一个端口(我不知道这是否相关)。当我尝试使用192.1.91.0端口3306或localhost 5000进行连接时,出现同样的错误。任何人都可以帮忙附加是我放入工作台的信息的图像enter image description here通过SSH连接远程MySQL数据库工作台

回答

1

我想这里有一些误解。防火墙不受密钥对保护。 SSH连接是。防火墙仅使用特定规则过滤网络流量(例如,只允许其通过启用的网络端口)。当您使用SSH连接时,您必须使用从远程SSH连接端看到的MySQL地址。这意味着如果MySQL服务器与SSH服务器运行在同一台计算机上(这是您使用SSH隧道时连接的那台计算机),那么地址是localhost(或IPv4/IPv6环回地址)。有关更多详情,请参阅我在YouTube上关于connection creation and troubleshooting的视频。

+0

感谢您的指导,但我仍然无法理解一些事情。目前,如果我使用putty和公钥/私钥进行身份验证,那么我可以使用ssh [email protected]从@ 86.12343.11开始。然后我使用mysql -user -pword连接到mysql数据库。对于SSH HOSTNAME,我假设我使用86.12343.11,但是如何指定我想要连接的服务器(192.134.3.21)? – TrevDred

+0

听起来像一个双跳。您首先有一个到86.x.x.x的SSH连接,从那里到另一个连接到192.x.x.x.从那里你连接到另一台机器上的MySQL服务器?恐怕WB不直接支持这种双跳。它创建一个SSH隧道,并期望从该远程端到达MySQL服务器。你可以尝试用第一个SSH端点的putty创建一个隧道,然后配置WB,就好像它在那个端点上一样,但我从来没有尝试过,所以我不知道它是否以这种方式工作。 –

+0

没有mysql服务器在192.x.x.x上 – TrevDred

0

如果MySQL服务器配置为接受远程连接,则可以使用服务器的IP地址,但不需要通过ssh进行连接。一旦选择通过ssh进行连接,工作台将使用SSH凭证创建一个portforwarding到指定的服务器。所以你必须使用localhost作为MySQL主机名。由于端口转发,请求将被转发到您的远程机器。总之:据我了解你的问题,你必须使用本地主机。