如何通过 ssh 在 python 中使用不同的主机和密码连接到多个服务器?
我试过使用Parallel-ssh。但是我无法连接到具有不同密码的多台服务器。
单个服务器的文档示例:
from pssh.clients import ParallelSSHClient
hosts = ['host1', 'host2', 'host3']
client = ParallelSSHClient(hosts, user='my_user', password='my_pass')
如何通过 ssh 在 python 中使用不同的主机和密码连接到多个服务器?
我试过使用Parallel-ssh。但是我无法连接到具有不同密码的多台服务器。
单个服务器的文档示例:
from pssh.clients import ParallelSSHClient
hosts = ['host1', 'host2', 'host3']
client = ParallelSSHClient(hosts, user='my_user', password='my_pass')
您可能对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)