以下是一个使用Python的示例代码,用于遍历一个主机名列表并检查是否可以成功使用SSH连接它们:
import paramiko
def check_ssh_connection(hostnames, username, password):
for hostname in hostnames:
try:
# 创建SSH客户端
client = paramiko.SSHClient()
# 自动添加主机名和密钥到本地“known_hosts”文件
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接主机
client.connect(hostname, username=username, password=password, timeout=5)
print(f"成功连接到主机 {hostname}")
# 关闭连接
client.close()
except paramiko.AuthenticationException:
print(f"无法通过SSH连接到主机 {hostname}:身份验证失败")
except paramiko.SSHException as e:
print(f"无法通过SSH连接到主机 {hostname}:{str(e)}")
except Exception as e:
print(f"无法通过SSH连接到主机 {hostname}:{str(e)}")
# 主机名列表
hostnames = ["hostname1", "hostname2", "hostname3"]
# SSH用户名和密码
username = "your_username"
password = "your_password"
# 检查SSH连接
check_ssh_connection(hostnames, username, password)
在上面的代码中,我们使用了paramiko库来进行SSH连接。在循环中,我们逐个连接主机名列表中的主机,并打印出成功或失败的消息。如果连接失败,我们捕获不同的异常并打印相应的错误消息。
请确保在运行代码之前安装了paramiko库,可以使用以下命令进行安装:
pip install paramiko
请注意,上述示例代码仅适用于使用用户名和密码进行SSH连接的情况。如果您需要使用SSH密钥进行连接,请修改代码以适应密钥身份验证。
上一篇:遍历一个状态变量
下一篇:遍历一个字典列表并保存重复的数据