Скрипт Python - подключиться к SSH и запустить команду - PullRequest
10 голосов
/ 04 февраля 2011

Я уже знаю, что есть модули ssh для Python, это не то, что я ищу.Я хочу, чтобы скрипт Python выполнял следующие действия:

  1. > подключаться к [вход пользователя] хосту SSH
  2. > подключаться с использованием учетных данных [предоставленных пользователем]
  3. > запустить команду на хосте SSH [telnet to [host - ввод пользователя] *
  4. > Выбрать пункт меню в сеансе telnet

Заранее спасибо

С уважением,

Ответы [ 6 ]

10 голосов
/ 04 февраля 2011

Используйте paramiko, см. http://jessenoller.com/2009/02/05/ssh-programming-with-paramiko-completely-different/ для полного примера использования.

4 голосов
/ 12 июня 2012

сейчас популярным решением является Ткань

4 голосов
/ 04 февраля 2011

Используйте paramiko или libssh2 python привязки .

2 голосов
/ 04 февраля 2011

Если вы действительно ищете модуль, который позволяет автоматизировать взаимодействие с CLI, есть pexpect

1 голос
/ 23 сентября 2016

Для этого есть много библиотек.

  1. Subprocess
  2. Pexpect
  3. Paramiko (в основном используется)
  4. Ткань
  5. Exscript

Вы можете проверить их документацию для реализации.

0 голосов
/ 16 ноября 2018

Вы можете использовать пакет vassal , который специально предназначен для этого.

Все, что вам нужно, это установить вассала и сделать

from vassal.terminal import Terminal
shell = Terminal(["ssh username@host", "cd scripts", "python foo1.py", "python foo2.py"])
shell.run()

Это будет запускать команду раз в секунду, и вы можете заставить ее работать быстрее, чтобы изменить sec = 0.1.

...