Pergunta

Estou tendo problemas sérios na criação de um túnel adequado no Paramiko para ativar uma conexão de banco de dados. Eu revisei o exemplo 'Forward.py', mas não estou entendendo como vincular a conexão do banco de dados a ele. Quaisquer indicadores que sejam muito apreciados.

Eu acho que preciso de algo o seguinte:

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()
Foi útil?

Solução

Se você criou seu túnel SSH usando o script forward.py; você pode usar o túnel ssh para conectar Para PostgreSQL assim:

conn = psycopg2.connect(database="test", host="localhost", port=<forward_port>)

Outras dicas

Eu também tive problemas sérios para fazer paramiko trabalhar, mas acabei fazendo isso com outra biblioteca (sshtunnel) que envolve e simplifica o tunelamento da Paramiko.

Você pode checar minha resposta Em outra pergunta semelhante, com algum código de amostra para usá -lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top