python mysql ssh隧道_Python中SSH隧道连接Postgresql数据库

我正在尝试远程连接到服务器,然后用python访问它的本地数据库。我已成功连接到服务器,但似乎无法连接到服务器上的数据库。我的代码如下:import psycopg2

from sshtunnel import SSHTunnelForwarder

try:

with SSHTunnelForwarder(

('', 22),

ssh_private_key="",

ssh_username="",

remote_bind_address=('localhost', 5432)) as server:

print "server connected"

conn = psycopg2.connect(database="",port=server.local_bind_port)

curs = conn.cursor()

print "database connected

except:

print "Connection Failed"

这是我在互联网上找到的一些示例代码。我也尝试了下面的连接语句来代替上面的连接语句:params = {

'database': '',

'user': '',

'password': '',

'host': 'localhost',

'port': 5432

}

conn = psycopg2.connect(**params)

我知道我可以连接到数据库,因为在我的机器上;我可以使用sqlectron进行隧道连接并进行适当的连接。

如果不清楚我要从上面做什么,我需要使用计算机上的一个专用ssh密钥(正常工作)通过ssh隧道连接到远程服务器,然后连接到端口5432上的PostgreSQL数据库。

我当前收到两种连接方式的当前错误消息:2016-01-23 11:16:10,978 | ERROR | Tunnel: 0.0.0.0:49386 <> localhost:5432 error: (9, 'Bad file descriptor')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值