Я пытаюсь написать скрипт для подключения к серверу 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", но безуспешно.