无法从我的 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)的主要内容,如果未能解决你的问题,请参考以下文章

ssh secure shell client中文乱码

Python 子进程 - 通过 SSH 运行多个 shell 命令

是否可以在 linux 的服务器终端中打开 X11 应用程序?

从 php 执行 shell 脚本会在 Windows (Xampp) 上打开文件

如何卸载ssh secure shell

无法通过 SSH 隧道克隆 git