Я использую Paramiko для SSH и редактирую файл конфигурации. Сам файл нуждается в разрешениях sudo для редактирования. Это пока не проблема, поскольку я только что сделал echo <sudopw> | sudo <command>
для других команд sudo в моем скрипте.Ошибка Paramiko при попытке отредактировать файл: «sudo: no tty present и no askpass program defined»
Когда я пытаюсь редактировать этот файл с помощью sed, ничего не происходит. stderr
производит: sudo: no tty present and no askpass program specified
Вот мой код:
stdin, stdout, stderr = client.exec_command
('echo <sudopassword> | sudo sed -i -e \"\\$aAllowUsers\" /etc/ssh/sshd_config)')
Я попытался решения с помощью invoke_shell
, но ничего, кажется, работает. Любое решение для редактирования этого файла было бы полезно.
EDIT: Это было решено! Не используйте get_pty
. Используйте опцию -S sudo сразу после «sudo».
Я пытаюсь сделать это с Paramiko, хотя. У меня нет голых команд ssh. Все это через метод 'execute_command()' Paramiko'. Я видел эти сообщения по этой теме, и они не помогли. – AlwaysQuestioning
Опция -S работала!Я пробовал вариант get_pty в течение нескольких дней без везения. Спасибо! – AlwaysQuestioning