我正在使用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选项。
如果您阅读错误消息