如何在python中使用不同的主机和密码通过ssh连接到多个服务器?

时间:2021-05-23 20:55:52

标签: python ssh parallel-ssh

python中如何通过ssh连接多台主机和不同密码的服务器?

我尝试使用 Parallel-ssh。但是我无法连接到多个密码不同的服务器。

来自单个服务器的文档示例:

from pssh.clients import ParallelSSHClient

hosts = ['host1', 'host2', 'host3']

client = ParallelSSHClient(hosts, user='my_user', password='my_pass')

1 个答案:

答案 0 :(得分:1)

您可能对fabric感兴趣。它提供了类似的功能,但也允许您手动创建每个连接,然后将它们传递到一个组中。例如:

from fabric.connection import Connection
from fabric.group import SerialGroup, ThreadingGroup

config = {
    'host1': {'password': '...'},
    'host2': {'password': '...'},
}

connections = []
for hostname, parameters in config.items():
    conn = Connection(host=hostname, connect_kwargs=parameters)
    connections.append(conn)

with SerialGroup.from_connections(connections) as group:
    result = group.run('uname -a')

for conn, conn_result in result.items():
    print(conn, conn_result)
相关问题