ParallelSSHClient()未运行命令

2024-09-30 05:19:00 发布

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

我尝试使用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')

每次我尝试运行此代码时,似乎都会出现错误:

^{pr2}$

以及

OSError: [Errno 101] Network is unreachable

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


Tags: 代码fromimport命令服务器clienthostoutput
1条回答
网友
1楼 · 发布于 2024-09-30 05:19:00

我认为您只是对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

这很好,但是如果我只使用一个主机(字符串)作为构造函数的第一个参数,而不是一个列表,那么我就得到了您得到的确切错误。在

希望这是有用的。在

相关问题 更多 >

    热门问题