使用不同 key 从两级跳转服务器到数据库的 SSH 隧道

标签 ssh ssh-tunnel tunneling

我在 AWS 上有数据库服务器,在下面的场景中,我必须使用 ssh 隧道从我的 PC 访问该数据库。

PC --> Jump1 [x.pem, port:22] --> Jump2 [y.pem, port:443] --> mysqldb:3306

最佳答案

对于这种场景,配置文件是最好的方法。

运行

$ touch ~/.ssh/config

在配置文件中添加主机条目。

Host <Host_Name>
    HostName <URL/IP of Jump2>
    User <>
    Port <>
    Identityfile <yyy.pem>
    StrictHostKeyChecking no
    ProxyCommand ssh -i <xxx.pem> <user>@<IP/DNS of Jump1> nc %h %p 2> /dev/null

然后创建隧道

$ ssh <local_port>:DB_URL:<DB PORT> <Host_name>

就是这样。 现在您可以使用

连接到数据库
localhost:<local_port>

关于使用不同 key 从两级跳转服务器到数据库的 SSH 隧道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39102873/

相关文章:

c# - SSH.NET 库对文件名进行编码

c# - 使用 sshnet 库的 SFTP 上传 - 处理连接问题

amazon-web-services - 如何在 AWS 中设置 SSH 隧道

ssh:检查隧道是否处于事件状态

java - 确认了解 : Tomcat served applet, 和应用网络流量?

linux - 如果我正在使用 ssh 远程执行其中一个脚本,那么在将参数从一个脚本传递到另一个脚本时如何保留空格?

ssh - 混帐克隆 : CONNECT_CR_SRVR_HELLO:wrong version number

hadoop - SSH隧道访问EC2 Hadoop集群

azure - 无法使用 sqlcmd 通过 SSH 隧道访问 SQL 数据库

security - 带有证书 : how? 的 ssh 隧道