Настройка туннеля SSH в существующем соединении из сценария

Я хочу создать туннель SSH в существующем соединении. Сложная часть делает это из сценария (пользовательская оболочка, которую я должен разрешать пользователям, только некоторые конкретные вещи, такие как настройка этого туннеля).

Обычно вы можете делать:

<enter> ~C ssh> -L 8080:localhost:80 

Но мне нужно иметь возможность сделать это из запущенного скрипта python. Я пытался:

 print("\n~C -L 8080:localhost:80") 

но, к сожалению, это была слишком простая мысль.

Итак, как мне настроить туннель из сценария Python?

(как побочный вопрос, мне также необходимо предотвратить ssh -N -L x:host:y host.example.com , но все же разрешить настройку портов для моей настраиваемой оболочки).

One Solution collect form web for “Настройка туннеля SSH в существующем соединении из сценария”

Попробуйте использовать sshtunnel lib.

Пример:

 from sshtunnel import SSHTunnelForwarder from time import sleep with SSHTunnelForwarder( ('localhost', 2222), ssh_username="vagrant", ssh_password="vagrant", remote_bind_address=('127.0.0.1', 3306)) as server: print(server.local_bind_port) while True: # press Ctrl-C for stopping sleep(1) print('FINISH!') 

или CLI:

 python -m sshtunnel -U vagrant -P vagrant -L :3306 -R 127.0.0.1:3306 -p 2222 localhost 
  • Правильное закрытие туннеля SSH с несколькими точками
  • SSH-соединение через SSH-туннель продолжает закрываться
  • Проблема с несколькими файлами, связанными с SSH-соединениями
  • Переслать X11 через два туннеля SSH
  • Как устранить неисправность отключения туннелей ssh?
  • Почему wget не работает через туннель ssh? Что делает прокси-сервер для предотвращения использования ssh-client?
  • Установлено соединение x11, но значение magic-cookie отличается?
  • Как предотвратить сохранение «выхода» при закрытии SSH-соединения?
  • Нужно ли вообще запускать рабочий стол gnome через удаленный x ssh-туннель?
  • Как просматривать веб-сайт, как если бы я был в США?
  • Автоматическая настройка туннеля SSH
  • ngircd отказывается подключиться через туннель ssh
  • Linux и Unix - лучшая ОС в мире.