我想通过堡垒主机建立到私有子网中的rds的连接。我可以通过SSH毫无问题地访问堡垒主机,并且已经为来自堡垒主机安全组的传入流量打开了RDS DB所在的私有子网中的安全组。现在有两种方法可以连接到RDS实例。解决方案1.在堡垒主机上安装MySQL commndline工具,并使用它连接到RDS DB解决方案2.从本地计算机通过端口转发访问RDS。
我可以通过MySQL命令从堡垒主机进行连接,但很难让端口转发继续进行。当我使用
ssh -i ecs_key.pem -NL 3007:mydb3.co2qgzotzpzu.eu-west-1.rds.amazonaws.com:3306 ubuntu@ec2-56-18-172-97.eu-west-1.compute.amazonaws.com我最终也是在堡垒主机上。有没有人能给我解释一下这两个解决方案之间是否有区别,或者我应该坚持使用适合我的解决方案1。
Merci A
发布于 2018-08-23 23:36:45
您需要在localhost上连接:3007,而不是9000
发布于 2018-08-25 12:48:55
这两种解决方案的不同之处在于,在方案1中,您必须在堡垒上安装mysql命令行工具,而对于隧道(方案2),您可以使用计算机上的工具通过隧道进行连接。
我不想让我在本地已经有的工具弄乱堡垒主机。堡垒主机的最佳实践是通过只安装最小的sshd配置来最小化受攻击面,以允许您设置隧道,而不是安装一堆开发工具。
同样,如果您想要安装一个SQL studio工具,如Workbench或Dbeaver,您将希望在本地使用它,并通过隧道连接。
您的隧道设置看起来是正确的。坚持下去。
尝试:
‘'mysql -host=127.0.0.1 --port=3007 --user=myname --password’
注意:当为host参数指定localhost时,MySQL使用套接字并忽略端口设置。请改用127.0.0.1。请参阅https://dev.mysql.com/doc/refman/8.0/en/connecting.html
https://stackoverflow.com/questions/51987437
复制相似问题