Я пытаюсь использовать Paramiko, чтобы соединиться с удаленным хостом и выполнить много замен текстового файла.
i, o, e = client.exec_command("perl -p -i -e 's/" + initial + "/"
+ replaced + "/g'" + conf);
Некоторые из этих команд должны быть выполнены как sudo, который приводит к:
sudo: извините, у Вас должен быть tty для выполнения sudo
Я могу вызвать pseudo-tty выделение с переключателем-t и ssh.
Действительно ли возможно сделать то же самое с помощью paramiko?
Я думаю, вам нужен метод invoke_shell
объекта SSHClient
(я бы с удовольствием дал URL, но документация paramiko на lag. net утяжелена рамками и просто не покажет мне конкретный URL для данного места в документации) - он дает вам Channel
, на котором вы можете делать exec_command
и тому подобное, но делает это через псевдотерминал (с указанием типа терминала и количества строк и столбцов! ), что, похоже, является тем, о чем вы просите.