【发布时间】: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 gateway
或An error occurred while opening tunnels.
我的 SSHTunnelForwardes 的日志记录级别总是显示错误。
我也成功建立了与 paramiko ssh.client 的连接,但不是调用查询的隧道。
【问题讨论】:
标签: ssh rds ssh-tunnel