【问题标题】:How to set up connection to AWS rds via ssh to server from python?如何通过 ssh 从 python 到服务器建立与 AWS rds 的连接?
【发布时间】:2023-04-09 20:37:01
【问题描述】:

我必须从远程服务器访问 aws rds。到目前为止,我从命令行访问 mysql 数据库没有任何问题。

我 ssh 到服务器,例如:ssh username@XX.XXX.XXXX.XX

进入服务器后,我使用mysql -hrds_host.amazonaws.com -uuser -ppassword

然后我可以从我的终端调用不同数据库的 sql 查询。

我一直在尝试使用 ssh 隧道通过 python 建立此连接,但未能成功。我希望代码看起来像:

with SSHTunnelForwarder(
          (server_host, 22),
          ssh_username=username,
          ssh_private_key=private_key,
          remote_bind_address=(rds_host, 3306)
     ) as server:
          conn = sql.connect(host=rds_host,
          port=server.local_bind_port,
          user=user,
          passwd=password,
          db=database)

我不断收到以下错误: Could not establish session to SSH gatewayAn error occurred while opening tunnels.

我的 SSHTunnelForwardes 的日志记录级别总是显示错误。

我也成功建立了与 paramiko ssh.client 的连接,但不是调用查询的隧道。

【问题讨论】:

    标签: ssh rds ssh-tunnel


    【解决方案1】:
    conn = sql.connect(host=rds_host,
              port=server.local_bind_port,
              user=user,
    

    将此连接更改为本地主机,它应该可以工作

    【讨论】:

      猜你喜欢
      • 2017-07-17
      • 1970-01-01
      • 2021-02-28
      • 1970-01-01
      • 2021-05-09
      • 2012-06-21
      • 2018-08-14
      • 1970-01-01
      • 2020-09-30
      相关资源
      最近更新 更多