如何使用smash clp实现python pssh

2024-09-26 17:43:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试自动获取500台服务器的状态。 我可以使用ssh连接到服务器bmc控制台,该控制台使用有效的用户名和密码打开一个smash clp终端,并运行命令:chassis --get power status,然后在屏幕上返回:The host status is on

我已经对服务器执行了pssh,但是如果服务器关闭,我希望通过BMC控制台执行pssh,并运行相同的命令来检查服务器是否可用。当我在控制台上使用与在服务器上相同的pssh方法时,什么也不会发生。没有返回,没有错误,它在那里执行脚本,直到我强制它停止

我怎样才能到达smash clp

我的简单测试脚本:

from pssh.clients import ParallelSSHClient

hosts = ['server-con']
username='uname'
password='password'
client = ParallelSSHClient(hosts, username, password)
output = client.run_command('chassis --get power status')
for host, host_output in output.items():
    for line in host_output.stdout:
        print(line)

Tags: 命令服务器脚本hostoutputgetstatuspassword
1条回答
网友
1楼 · 发布于 2024-09-26 17:43:23

我不知道BMC控制台或机箱,但据我所知,您试图使用python ssh命令来远程运行,但遇到了问题

我的建议是简单地使用子流程并运行它

output = subprocess.run("ssh foo chassis  get power status", shell=True, stdout=subprocess.PIPE)

相关问题 更多 >

    热门问题