0

我在 paramiko 中设置适当的隧道以启用数据库连接时遇到严重问题。我已经查看了示例“forward.py”,但我不明白如何将数据库连接链接到它。任何指针都将不胜感激。

我想我需要以下东西:

t = paramiko.Transport((hostname, port))
t.connect(username=username, password=password, hostkey=hostkey) 
c = paramiko.Channel(t)

#something about assigning a local port to this connection

connection = psycopg2.connect(connectionstring)
#and do my stuff

connection.close()
c.close()
t.close()
4

2 回答 2

2

如果您使用 forward.py 脚本创建了 ssh 隧道;您可以使用 ssh 隧道连接到 postgresql,如下所示:

conn = psycopg2.connect(database="test", host="localhost", port=<forward_port>)
于 2010-10-28T01:46:04.440 回答
1

我在让 paramiko 工作时也遇到了同样严重的问题,但最终使用另一个库 (sshtunnel) 来包装和简化 paramiko 的隧道。

您可以使用一些示例代码检查在另一个类似问题中的答案以使用它。

于 2015-07-26T19:43:33.593 回答