利用python实现批量登录网络设备进行日常巡检

利用python实现批量登录网络设备

通过阅读本文可以学习自动化运维相关知识,本文章代码可以直接使用,通过批量登录功能后,可以按照自己意愿进行功能更改与完善。

实现ensp与物理机互通

ensp 配置

利用华为ensp模拟器提供的cloud功能实现与物理机互通,如图所示

选择其他设备-->cloud,拖到拓扑图中后选中cloud图标,右键选择设置选项,即可看到cloud配置界面

选择绑定信息下拉框,即可看到物理机的网卡情况,在此利用虚拟网卡进行桥接

PS:如果下拉框无虚拟网卡选项可以重新安装VirtualBox虚拟机,并重启物理机,或者可以通过计算机管理-->网络适配器-->添加过时硬件-->下一步-->安装我手动从列表中选择的硬件-->网络适配器-->Microsoft KM-TEST 环回适配器-->一直点击下一步确定即可,添加环回口适配器来进行与物理机通信,完成后记得重启物理机,否则cloud中没有此网卡选项





当虚拟网卡或者环回适配器配置好后,就可以设置cloud,其中要点为

1、添加两个端口,一个为UDP,一个为虚拟网卡或者环回适配器网卡

2、添加端口映射,其中需要增加双向通道

3、配置网络设备和所选择的网卡在同一网段

4、在物理机和ensp网络设备上测试是否可以互通

配置网络设备远程登录

华为华三思科远程登录设备的方法

可参考以上文档方法配置网络设备远程登录

用python实现批量登录

安装好对应程序,并下载paramiko包

python 复制代码
import  paramiko

def ssh_connect(ip):
    ssh = paramiko.SSHClient()		#创建SSH登录实例
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())       #自动保存公钥
    ssh.connect(hostname=ip,port=22,username="admin",password="admin123")	#输入网络设备登录所需信息
    cli=ssh.invoke_shell()              #将结果回显
    cli.send("dis fan\n")				#查看风扇情况
    cli.send("dis device\n")			#查看硬件情况,可以根据需要添加
    res = cli.recv(9999).decode('utf-8')        #字符转换为utf-8格式
    print(res)
    ssh.close()
data_list=["192.168.56.{}".format(i) for i in range(2,4)]  #根据所登录ip地址网段不同来进行更改,其中range(2,4)代表的是2和3,即左闭区间,右开区间
for i in data_list:                   #利用for循环来进行批量操作
    ssh_connect(i)

执行成功结果

常见问题

python 复制代码
in ssh_connect
    ssh.connect(hostname=ip,port=22,username="admin",password="admin123")

出现此提示可能有两种情况

1、物理机和ensp网络设备网络不可达

2、ensp网络设备无法远程登录

python 复制代码
    ssh_connect(i)
    ^
IndentationError: expected an indented block after 'for' statement on line 26

出现此提示可能原因为:

未按照语法规则进行编译,此时可查看空格是否正确

相关推荐
头发够用的程序员2 分钟前
Python 魔法方法 vs C++ 运算符重载全方位深度对比
开发语言·c++·python
csbysj20204 分钟前
Java 发送邮件
开发语言
加成BUFF15 分钟前
基于DeepSeek+Python开发软件并打包为exe(VSCode+Anaconda Prompt实操)
vscode·python·prompt·conda·anaconda
星火开发设计27 分钟前
异常规范与自定义异常类的设计
java·开发语言·前端·c++
xyq202428 分钟前
SQL Mid() 函数详解
开发语言
52Hz11838 分钟前
力扣46.全排列、78.子集、17.电话号码的字母组合
python·leetcode
子午44 分钟前
【宠物识别系统】Python+深度学习+人工智能+算法模型+图像识别+TensorFlow+2026计算机毕设项目
人工智能·python·深度学习
好家伙VCC1 小时前
# 发散创新:用Python+Pandas构建高效BI数据清洗流水线在现代数据分析领域,**BI(商业智能)工具的核心竞
java·python·数据分析·pandas
文艺倾年1 小时前
【源码精讲+简历包装】LeetcodeRunner—手搓调试器轮子(20W字-下)
java·开发语言·人工智能·语言模型·自然语言处理·大模型·免训练
七夜zippoe1 小时前
TensorFlow 2.x深度实战:从Keras API到自定义训练循环
人工智能·python·tensorflow·keras