【发布时间】:2016-02-08 07:57:26
【问题描述】:
我正在使用 Paramiko 进行 SSH 并编辑配置文件。文件本身需要 sudo 权限才能编辑。到目前为止,这还不是问题,因为我刚刚为脚本中的其他 sudo 命令完成了echo <sudopw> | sudo <command>。
但是,当我尝试使用 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 的解决方案,但似乎没有任何效果。编辑此文件的任何解决方案都会有所帮助。
编辑:这已经解决了!不要使用get_pty。在“sudo”之后使用 sudo 的 -S 选项。
【问题讨论】:
-
*.com/a/56164572/7601752 我发现这是最好的解决方案,请研究一下。
标签: python linux ssh sudo paramiko