Прежде чем вы проголосуете против этого, позвольте мне сказать, что я прочитал ОЧЕНЬ много вопросов на эту тему на SO и не нашел ответа.Этот ответ ближе всего к тому, что мне нужно, хотя в ответе «Нил».
Какой самый простой способ использовать SSH с использованием Python?
Я бы хотелнайти способ авторизации на другом хосте, используя ssh, предоставив пароль, без импорта нестандартных модулей python.Затем мне нужно было бы иметь возможность отправлять несколько команд, используя соединение SSH.Я должен сделать это, потому что мне нужно автоматизировать что-то во многих закрытых системах, на которые я не могу установить новые модули (не доступные через Интернет).
Ответ в указанном вопросе:
Если вы хотите избежать каких-либо дополнительных модулей, вы можете использовать модуль подпроцесса для запуска
ssh [host] [command] и перехватить вывод.
Попробуйте что-то вроде:
process = subprocess.Popen ("ssh example.com ls", shell = True, вывод stdout = subprocess.PIPE, stderr = subprocess.STDOUT), stderr = process.communicate () status = process.poll () вывод на печать Чтобы иметь дело с именами пользователей и паролями, вы можете использовать подпроцесс для взаимодействия с процессом ssh или установить открытый ключ на сервере, чтобы избежать запроса пароля.
Звучит неплохо,но я не могу понять это достаточно хорошо, чтобы пойти дальше.Может ли кто-нибудь помочь мне сделать шаг ребенка?
(1) log in to ssh
(2) provide the password when its prompted
(3) issue an ls command and display the result
Я могу выполнить остальную часть автоматизации, если смогу просто ввести пароль доступа.
PS: я пытался использовать функцию ожидаемо,но TCL отсутствует в системе, поэтому, пожалуйста, не говорите мне использовать это!Если вы знаете что-то еще, я могу позвонить, чтобы помочь python, но я с удовольствием попробую это сделать, если он будет встроен в систему Fedora Enterprise Linux по умолчанию.