Я пытаюсь использовать сценарий 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: После установки соединения можно ли программно выполнять команды оболочки на удаленном хосте?