Как подключиться к базе данных через туннель Paramiko (или аналогичный пакет) - PullRequest
0 голосов
/ 28 октября 2010

У меня серьезные проблемы с настройкой правильного туннеля в 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()

Ответы [ 2 ]

2 голосов
/ 28 октября 2010

, если вы создали свой ssh-туннель, используя скрипт forward.py; вы можете использовать ssh туннель для подключения к postgresql следующим образом:

conn = psycopg2.connect(database="test", host="localhost", port=<forward_port>)
1 голос
/ 26 июля 2015

У меня были такие же серьезные проблемы с получением Paramiko для работы, но в итоге я сделал это с другой библиотекой (sshtunnel), которая оборачивает и упрощает туннелирование Paramiko.

Вы можете проверить мой ответ в другом подобном вопросе с некоторым примером кода для его использования.

...