Ssh для размещения с использованием python

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

import os , shutil , glob , subprocess , sys
from subprocess import run, PIPE

proc = subprocess.Popen(['ssh','-t','admin@192.168.1.34'], stdin=PIPE)
proc.communicate(input='password')    

Первая строка работает правильно и отправляет ssh на хост, но вторая строка не может отправить пароль, и я получаю следующую ошибку:

proc.communicate(input='password')
  File "/root/anaconda3/lib/python3.6/subprocess.py", line 828, in communicate
Pseudo-terminal will not be allocated because stdin is not a terminal.
    self._stdin_write(input)
  File "/root/anaconda3/lib/python3.6/subprocess.py", line 781, in _stdin_write
    self.stdin.write(input)
TypeError: a bytes-like object is required, not 'str'

Вы пытались отправить объект bytes вместо строки?

glibdud 13.09.2018 20:35

Как я могу это сделать?

Sichani 13.09.2018 20:38

Извините, я хотел включить ссылку в предыдущий комментарий: bytes Объекты.

glibdud 13.09.2018 20:45

есть ли способ отправить строку? Спасибо

Sichani 13.09.2018 20:58
0
4
41
0

Другие вопросы по теме