首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python并行SSH -如何传递多个用户名和密码

Python并行SSH是一种通过Python编程语言实现的并行执行SSH命令的方法。它可以同时连接多个远程服务器,并通过传递多个用户名和密码来进行身份验证。

在Python中,可以使用paramiko库来实现SSH连接和执行命令。Paramiko是一个纯Python实现的SSHv2协议库,可以在Python中进行SSH连接和操作。

以下是一个示例代码,演示如何使用Python并行SSH传递多个用户名和密码:

代码语言:txt
复制
import paramiko
from getpass import getpass

def ssh_command(hostname, username, password, command):
    # 创建SSH客户端对象
    client = paramiko.SSHClient()
    # 自动添加远程主机的SSH密钥
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    try:
        # 连接远程主机
        client.connect(hostname, username=username, password=password)
        # 执行命令
        stdin, stdout, stderr = client.exec_command(command)
        # 输出命令执行结果
        print(stdout.read().decode())
    except paramiko.AuthenticationException:
        print(f"Authentication failed for {username}@{hostname}")
    finally:
        # 关闭SSH连接
        client.close()

# 服务器列表
servers = [
    {"hostname": "server1.example.com", "username": "user1", "password": getpass("Enter password for user1: ")},
    {"hostname": "server2.example.com", "username": "user2", "password": getpass("Enter password for user2: ")},
    # 可以添加更多的服务器
]

# 执行的命令
command = "ls -l"

# 并行执行SSH命令
for server in servers:
    ssh_command(server["hostname"], server["username"], server["password"], command)

在上面的代码中,首先导入了paramiko库和getpass模块。然后定义了一个ssh_command函数,用于连接远程主机并执行命令。在函数内部,创建了一个SSH客户端对象,设置了自动添加远程主机的SSH密钥策略。然后尝试连接远程主机,并执行指定的命令。最后关闭SSH连接。

接下来,定义了一个服务器列表servers,其中包含了多个服务器的主机名、用户名和密码。然后定义了要执行的命令command

最后,使用一个循环遍历服务器列表,调用ssh_command函数并传递相应的主机名、用户名、密码和命令来并行执行SSH命令。

这样,就可以通过Python并行SSH传递多个用户名和密码来执行SSH命令了。

腾讯云相关产品和产品介绍链接地址:

以上是关于Python并行SSH传递多个用户名和密码的完善且全面的答案,希望对您有帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券