代码开始------------------------------------------------------------
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
from paramiko import SSHClient, AutoAddPolicy
import select
import re
host_list = [
{'hostname': '192.168.174.130', 'port': 22, 'username': 'root', 'password': 'mana.2021'},
] # 这是一个原始的主机信息列表;你也可以自己在代码中添加,也可以遍历excel进行添加;
conn_deon = [] # 第一次验证主机成功的主机列表
conn_fail = [] # 第一次验证主机报错的主机列表
conn_amend = [] # 修改端口后的主机列表;说明:修改端口的列表修改的是“第一次验证失败的列表【conn_fail】”
host_version_filtration = [] # 过滤符合版本的主机;扩展功能
no_host_version_filtration = [] # 过滤不符合版本的主机;扩展功能
def ssh_ex(hostname, port, username, password):
'''
这是一个测试连接是否成功的函数;
会将成功连接的主机传入“conn_deon“列表;
将连接失败的主机登录信息追加到“conn_fail”列表
:param hostname: 测试主机IP
:param port: 测试主机端口
:param username: 测试主机用户名
:param password: 测试主机密码
:return:
'''
ssh_client = SSHClient() # 创建一个连接实例
ssh_client.set_missing_host_key_policy(AutoAddPolicy) # 自动处理SSH弹出的yes/no
try:
ssh_client.connect(hostname, port, username, password) # 进行SSH连接
# 将成功连接的主机追加“conn_deon“列表
conn_deon.append({'hostname': hostname, 'port': port,
'username': username, 'password': password})
print('