我正在尝试访问连接到私有 linux 实例的私有 Postgres 数据库。当我通过终端访问它时,我必须首先通过 SSH 连接到堡垒实例,然后使用相同的 PEM 文件通过 SSH 连接到我可以访问数据库的私有 linux 实例。我希望使用 sqlalchemy 通过 python 访问这个数据库。我已阅读有关 SSH 端口转发的信息,但遇到了问题。我找到了这个例子,但我不清楚在哪里输入私有实例的地址,我尝试使用 remote_bind_address 中的地址,但抛出错误。
could not translate host name to address
with SSHTunnelForwarder(
('xxx-x-xx-xx-xxx.us-west-2.compute.amazonaws.com'), """bastian server"""
ssh_username="buntu",
ssh_pkey="fourmm.pem",
remote_bind_address=('Address of private instance?', 22)
) as tunnel:
print("****SSH Tunnel Established****")
engine = create_engine(
"postgresql://postgres:XXXXXXXxxxxxxx@xxxx-xx.cluster-xxxxxx.us-wesr-.rds.amazonaws.com:5432/postgres",
echo=True, future=True)