我可以使用子进程模块ssh到服务器,但是在将用户切换为root(su-)时遇到问题。
我的意图是:
1)以普通用户身份登录到远程服务器
2)通过su切换到root用户-
3)运行dmidecode命令并获取输出
在上面的步骤中,我可以执行步骤1),但是遇到2)和3)的麻烦
这是我正在使用的代码:
import subprocess
import sys
HOST="server.com"
COMMAND="uname -a"
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],
shell=False,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
result = ssh.stdout.readlines()
if result == []:
error = ssh.stderr.readlines()
print(error)
else:
print(result)