ParallelSSHClient() 不是 运行 命令

ParallelSSHClient() not running command

我正在尝试在多个服务器上使用 Python 到 运行 命令中的并行 SSH 客户端。然而,在测试这个包时,我 运行 遇到了一个我似乎无法解决的问题。

这是我的代码:

from pssh import ParallelSSHClient
host = '172.24.1.1'
user = 'XXXX'
password = 'XXXX'
client = ParallelSSHClient(host, user, password)
output = client.run_command('ls -l')

每次我尝试 运行 这段代码似乎都会给我错误:

pssh.exceptions.ConnectionErrorException: ("Error connecting to host '%s:%s' - %s - retry %s/%s", '1', 22, 'Network is unreachable', 3, 3)

OSError: [Errno 101] Network is unreachable

如果我使用 SSHClient(),它工作正常。所以,我不明白为什么它不能与 ParallelSSHClient() 一起使用。有人可以帮忙吗?

我认为您只是对 ParallelSSHClient 构造函数使用了错误的语法,它需要一个主机列表,而不是单个主机名。 (列表只有一项就可以了。)

这是我 运行 根据 usage guide:

中的示例编写的一些代码
from pssh.pssh_client import ParallelSSHClient

host = '160.100.29.5'
myusername = 'XXXX'
mypassword = 'YYYY'

hosts = [host]   # make a list

client = ParallelSSHClient(hosts, user=myusername, password=mypassword)
output = client.run_command('ls -l')
for line in output['160.100.29.5'].stdout:
    print line

这工作正常,但如果我只使用一个主机(字符串)作为构造函数的第一个参数,而不是一个列表,那么我会得到你所得到的确切错误。

希望这有用。