我正在尝试通过SSH连接到MySQL Workbench的远程数据库。我正在尝试连接的远程数据库具有受私钥保护的防火墙(我已将其转换为OPEN SHH)。当我尝试连接时,我一直收到错误,我只是对我应该使用的数据库的信息有点困惑。我一直看到人们使用localhost,并且DB在不同问题的同一点上间歇性地改变了。我的设置目前是我必须连接到防火墙的服务器(检查),现在有多个运行的VM我想连接到例如192.1.91.0。我还在localhost 5000上设置了一个在putty上设置的端口(我不知道这是否相关)。当我尝试使用192.1.91.0端口3306或localhost 5000进行连接时,我得到了同样的错误。谁能帮忙。附件是我放入工作台
的信息图片答案 0 :(得分:1)
我认为这里有一些误解。防火墙不受密钥对的保护。 SSH连接是。防火墙仅使用特定规则过滤网络流量(例如,仅允许其通过已启用的网络端口)。使用SSH连接时,必须使用从远程SSH连接端看到的MySQL地址。这意味着如果MySQL服务器在与SSH服务器相同的计算机上运行(使用SSH隧道时连接到该服务器),则地址为localhost(或IPv4 / IPv6环回地址)。有关详细信息,请参阅我在Youtube上关于connection creation and troubleshooting的视频。
答案 1 :(得分:1)
要将 Workbench 与私有数据库连接,您需要一个“跳转主机”,也称为“堡垒主机”,它可以是与数据库位于同一 VPC 中的公共子网中的任何 EC2 实例。
类型:MYSQL/Aurora,协议:TCP,端口范围:3306,
来源:securitygroupofEC2(您可以通过输入所有安全组
'sg-')
类型:SSH,协议:TCP,端口范围:22,来源:我的 IP
- Standard TCP/IP over SSH
- SSH Hostname : < your EC2 Public IP > #34.3.3.1
- SSH Username : < your username > #common ones are : ubuntu, ec2-user, admin
- SSH KeyFile: < attach your EC2 .pem file>
- MYSQL Hostname: <database endpoint name> #mydb.tbgvsblc6.eu-west-1.rds.amazonaws.com
- MYSQL Port: 3306
- Username : <database username>
- Password: <database password>
点击“测试连接”,大功告成!!
答案 2 :(得分:0)
如果MySQL服务器配置为接受远程连接,您可以使用服务器IP地址,但是您不需要通过ssh连接。选择通过ssh连接后,工作台会使用ssh凭据创建指向服务器的端口转发。所以你必须使用localhost作为MySQL主机名。由于端口转发,请求将被转发到您的远程计算机。简而言之:就我理解你的问题而言,你必须使用localhost。