Связь с python mysql через ssh

Я подключаюсь к своему db вручную, используя следующие шаги:

1>load a putty session with ip 1.1.1.1 and port 1111 2>login as: login1 3>login1@1.1.1.1's password: pwd1 4>[login1@G ~]$ ssh login1@2.2.2.2 5>[login1@l ~]$ MySQL -h 3.3.3.3 -u login2 -p'pwd2' -D mydb 

Теперь я могу запросить все, что угодно, например select * from my_table.

У меня есть код selenium webdriver python, откуда я хочу прочитать мой db. Я не могу этого добиться из-за туннеля ssh и 3 IP-адресов.

 from sshtunnel import SSHTunnelForwarder import MySQLdb with SSHTunnelForwarder( ('host', 1111), ssh_password="pwd1 ssh_username="login1", remote_bind_address=('2.2.2.2', 1111)) as server: con = None con = MySQLdb.connect(user='login2',passwd='pwd2',db='mydb',host=3.3.3.3,port=3306) cur = con.cursor() 

Я получаю эту ошибку:

BaseSSHTunnelForwarderError: не удалось разрешить IP-адрес для% s, прервать!

One Solution collect form web for “Связь с python mysql через ssh”

При SSHTunnelForwarder экземпляра SSHTunnelForwarder :

Хостом param является ваш удаленный ssh 2.2.2.2 .
Аргумент для remote_bind_address будет для туннеля, порт – тот, который вы хотите туннелировать, поэтому ваш порт mysql. ('3.3.3.3', 3306)

Затем при подключении к mysql вы хотите, чтобы он прошел через туннель, чтобы получить доступ к экземпляру mysql. Порт туннеля – server.local_bind_port .

 from sshtunnel import SSHTunnelForwarder import MySQLdb with SSHTunnelForwarder( ('2.2.2.2', 1111), ssh_password="pwd1" ssh_username="login1", remote_bind_address=('3.3.3.3', 3306)) as server: con = MySQLdb.connect( user='login2',passwd='pwd2', db='mydb',host=1.1.1.1, port=server.local_bind_port) 
  • Может ли задача Python Fabric вызывать другие задачи и уважать их списки хостов?
  • Как scp в python?
  • Как запустить sudo с paramiko? (Python)
  • Как сохранить сессию ssh не истек с помощью paramiko?
  • Парамико: перенаправление портов вокруг NAT-маршрутизатора
  • Как запустить сеанс SSH локально с помощью Python?
  • Почему Pariko зависает, если вы используете его при загрузке модуля?
  • Долгосрочные команды ssh в модуле python paramiko (и как их закончить)
  • Python - лучший язык программирования в мире.