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
这工作正常,但如果我只使用一个主机(字符串)作为构造函数的第一个参数,而不是一个列表,那么我会得到你所得到的确切错误。
希望这有用。
我正在尝试在多个服务器上使用 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
这工作正常,但如果我只使用一个主机(字符串)作为构造函数的第一个参数,而不是一个列表,那么我会得到你所得到的确切错误。
希望这有用。