尝试编辑文件时出现Paramiko错误:“ sudo:不存在tty且未指定askpass程序”

问题描述 投票:1回答:1

我正在使用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选项。

python linux ssh sudo paramiko
1个回答
3
投票

如果您阅读错误消息

© www.soinside.com 2019 - 2024. All rights reserved.