1

我是 Python 新手,我希望对设备运行多个并行 ssh 连接和命令。我正在使用它的pssh 链接。问题是设备在连接后返回一些大标题,如 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

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

4

2 回答 2

0

结帐pssh。
该工具使用多线程并且执行速度很快。你可以在这里
阅读更多关于它的信息。

于 2017-01-03T10:50:20.427 回答
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)

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

于 2016-01-12T16:43:07.407 回答