paramiko: Перенаправление порта SSH для получения дампа SQL

Я пытаюсь использовать сценарий python для получения дампа SQL с удаленного хоста с промежуточным хостом в качестве прокси, например:

local machine -> proxy -> remote

Прокси-сервер должен быть там, потому что удаленный хост разрешает соединения только через этот прокси-сервер .

Примечание: Мне известен аналогичный вопрос на Как подключиться к базе данных через Paramiko Tunnel (или аналогичный пакет) , но решение, похоже, специфично для PostgreSQL.

Я устанавливаю соединение по SSH через paramiko. Я знаю, что forward.py - это пример paramiko для переадресации портов, но я не уверен, правильно ли я его использую. Вот что я сделал (PX = proxy, RMT = remote):

forward.py --password --host=PX --port=PXport --user=PXusr RMT:RMTport

И я получаю следующий результат:

*** Unable to open host keys file
*** Warning: no host key for PX
Connecting to ssh host PX:PXport ...
Now forwarding port 4000 to RMT:RMTport ...

Затем скрипт застревает на последней строке.

Q1: Есть ли у кого-нибудь пример того, как использовать paramiko forward.py для подключения к удаленному хосту через прокси?

Q2: После установки соединения можно ли программно выполнять команды оболочки на удаленном хосте?

5
задан Community 23 May 2017 в 12:19
поделиться