Python Parallel SSH只获得命令输出

时间:2015-12-04 09:53:41

标签: python ssh pssh

我是Python新手,我希望为设备运行多个并行ssh连接和命令。我正在使用pssh link。 问题是设备在连接后返回一些大的标题,如20-30行。 当我使用下面的代码时,打印出来的是命令的结果,但是在顶部还有登录后打印的大标题。

hosts = ['XX.XXX.XX.XXX']

client = ParallelSSHClient(hosts, user='XXXX', password='XXXXX')
output = client.run_command('command')

for host in output:
    for line in output[host]['stdout']:
        print line

无论如何我可以获得命令输出吗?

2 个答案:

答案 0 :(得分:0)

不确定我明白你的意思。 我也使用pssh,似乎我使用与您相同的方法来打印命令的输出,见下文:

client = pssh.ParallelSSHClient(nodes, pool_size=args.batch, timeout=10, num_retries=1)
output = client.run_command(command, sudo=True)
    for node in output:
        for line in output[node]['stdout']:
            print '[{0}]  {1}'.format(node, line)

你能详细说明一下吗?也许提供一个你运行的命令和你得到的输出的例子?

答案 1 :(得分:0)

checkout pssh。
该工具使用多线程并快速执行 你可以阅读更多相关信息here