SSHTunnelForwarder: Ip не является строковой ошибкой - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь написать скрипт для подключения к серверу mysql через ssh, используя SshTunnelForwarder, следующим образом:

import sshtunnel
import MySQLdb

def getValueFromDB(dbusername, query, ssh_pass, db_pass):
        with sshtunnel.SSHTunnelForwarder(("servername", 2222),
                                      ssh_password=ssh_pass,
                                      ssh_username=dbusername,
                                      remote_bind_address=("127.0.0.1", 3306)) as tunnel:
            conn = MySQLdb.connect("127.0.0.1", dbusername, db_pass, port=tunnel.local_bind_port)

            cursor = conn.cursor()
            cursor.execute(query)
            value = cursor.fetchone()[0]
            conn.close()
            return value

getValueFromDB("user", "show databases;", "pass1", "pass2")

Однако я получаю сообщение об ошибке:

    type(host).__name__
AssertionError: IP is not a string (NoneType)

пробовалвсе возможные пути, но безрезультатно.Может кто-нибудь помочь, если я ошибаюсь?

Я тоже пытался использовать "ssh_address_or_host", но безуспешно.

...