gpt4 book ai didi

Python paramiko sudo 不起作用

转载 作者:行者123 更新时间:2023-12-02 14:08:32 24 4
gpt4 key购买 nike

我正在尝试使用 Python Paramiko ssh 模块自动执行 linux 管理,除 sudo 外一切正常。我使用 stdin.write()stdin.flush() 遵循了 sudo 的 paramiko 文档,但到目前为止没有运气。请帮助我。

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host,username=uname,password=pwd)
print('Successfully authenticated on'+ " " +host)
print "\n"
stdin,stdout,stderr = ssh.exec_command('sudo ls')
stdin.write(pwd+'\n')
stdin.flush()
print stdout.readlines()
ssh.close()

最佳答案

sudo 以非常具体的方式处理您所使用的 TTY,以保持其安全理念。有一个命令行选项可以将提示写入 stderr 并从 stdin 读取,而不是 sudo 直接处理 TTY。

尝试:

stdin, stdout, stderr = ssh.exec_command('sudo -S ls')

如果您为系统管理任务执行此操作,那么很多框架已经完成。你可以看看Fabric如果你乐于为大多数事情编写 python,或者类似 Ansible 的东西仍然通过 ssh 进行控制,但以更简单的 yaml 格式编写策略。

关于Python paramiko sudo 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35290143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com