Связь с 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 paramiko script, проблемы с чтением вывода во время exec_command ()
  • Как развернуть частную зависимость от питона python с Amazon AWS Elastic Beanstalk?
  • Проверить файл на ssh
  • Самый простой способ запустить сценарий ожидания из python
  • Вложенная сессия SSH с Paramiko
  • Опция SSH для таймаута через короткое время? ClientAlive & ConnectTimeout, похоже, не делают то, что мне нужно от них.
  • Сначала ssh с mysqldb в python
  • Как скопировать файл на удаленный сервер в Python с помощью SCP или SSH?
  • Как использовать Fabric для SSH для двух разных портов на одном сервере?
  • Как перечислить все папки и файлы в каталоге после подключения через sftp в python
  • Ввод команды в фоновом режиме с помощью Fabric не работает на некоторых хостах
  •  
    Interesting Posts for Van-Lav

    Как получить размеры тензора (в TensorFlow) на время построения графика?

    не удалось найти vcvarsall.bat

    Оценка количества кластеров за счет статистики зазора и силы прогнозирования

    запускать внешнюю программу в цикле с максимальным временным пределом

    Numpy: Объединение структурированных массивов?

    Как построить очень простую гистограмму (Python, Matplotlib) с использованием файла ввода * .txt?

    Удалить дубликат dict в списке в Python

    Простой способ создания 2D-массива со случайными числами (Python)

    Заполнение списка в python с определенным значением

    Pandas sort_index дает странный результат после применения функции для группировки DataFrame

    Статические методы экземпляра str в Python

    Python: setup.py отсутствует: нет такого файла или каталога

    Метод Django Vote Up / Down

    Почему context_set_tmp_ecdh () не определен в pyOpenSSL?

    Возможно ли, чтобы Python интерпретировал сценарий по строкам и генерировал вывод как будто из интерактивной оболочки?

    Python - лучший язык программирования в мире.