gpt4 book ai didi

python - 如何在远程机器的 python 脚本中的 paramiko 模块中运行 sudo 命令

转载 作者:行者123 更新时间:2023-11-28 19:29:52 29 4
gpt4 key购买 nike

我的场景是我需要登录到远程机器,然后对另一个帐户执行 sudo,例如 (sudo su anotheract),然后运行其他所需的命令。

但我能够使用以下脚本成功连接到远程机器。但是脚本卡在我执行 sudo 命令的行中(sudo su anotheract)

你能帮我找到这段代码的修复方法吗?

import paramiko

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(
paramiko.AutoAddPolicy())

ssh.connect(hostname='XX.XXX.XX.XX',port=22, username='myname',password='XXXXX')

ssh.exec_command=("sudo su anotheract")

stdout,stdin,stderr=ssh.exec_command("java -jar /usr/share/XXX/LogR.jar")

print stdout.readlines()

最佳答案

一种(不是很安全)的方法是通过管道输入密码。需要注意的是,您使用 paramiko 连接到盒子的用户应该具有 sudo 权限。

例如:

supass = 'some_pass'

stdout, stdin, stderr = ssh.exec_command('echo %s | sudo -S anotheract' % supass)

同样,这不是一个非常安全的实现,但可以快速完成工作。

关于python - 如何在远程机器的 python 脚本中的 paramiko 模块中运行 sudo 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11792946/

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