无法从我的 linux shell 打开 ssh 隧道(EC2 暴露 RDS db)
Posted
技术标签:
【中文标题】无法从我的 linux shell 打开 ssh 隧道(EC2 暴露 RDS db)【英文标题】:Can't open a ssh tunnel from my linux shell (EC2 exposing an RDS db) 【发布时间】:2021-05-13 00:18:21 【问题描述】:我正在努力尝试打开 ssh 隧道以通过 EC2 堡垒主机访问 RDS mysql 实例。使用桌面客户端(Navicat、MysqlWorkBench)和 ssh 隧道设置一切正常,但是当我在终端中运行 ssh -i keys.pem user@ec2-instance -L 3307:rds-mysql-instance:3306 -N
时,命令会无限期挂起。
我可以使用 ssh -i keys.pem user@ec2-instance
访问我的 EC2 实例,并且我可以从我的 EC2 实例访问 RDS 数据库
我是否在配置中遗漏了什么? 我还尝试打开我的安全组上的所有端口,以确保这不是与端口相关的问题。
有什么帮助/想法吗?
【问题讨论】:
在末尾添加-vv
以获取一些信息:ssh -i keys.pem user@ec2-instance -L 3307:rds-mysql-instance:3306 -N -vv
。此外,由于您使用的是-N
,它可能会显示为“卡住”,这就是-N
的目的。
谢谢,看看我确实解决了这个问题的输出。和我的内部配置有关
没问题。如果您不介意,我会提供答案。
【参考方案1】:
基于 cmets。
要确定问题,可以使用-v
、-vv
甚至-vvv
标志请求来自ssh
的更多详细 输出。因此,调试命令可以是:
ssh -i keys.pem user@ec2-instance -L 3307:rds-mysql-instance:3306 -N -vv
详细的输出允许识别连接问题并修复它。
【讨论】:
以上是关于无法从我的 linux shell 打开 ssh 隧道(EC2 暴露 RDS db)的主要内容,如果未能解决你的问题,请参考以下文章
Python 子进程 - 通过 SSH 运行多个 shell 命令
是否可以在 linux 的服务器终端中打开 X11 应用程序?