一,实现这个功能的前提:
二,将虚拟云接入到要实现巡检的网络内,将虚拟云连接自己主机的虚拟网卡。
根据上面的三张图:
192.168.200.1 这个地址需要跟巡检的设备连通
那么在网络内设置vlan 10,并在每个设备内都设置一个vlan10的地址
解决了连通问题后,
我们还要配置设备的远程登录(每个设备都要):
dsa local-key-pair create//先根据加密算法生成秘钥对,用于传输数据时加密保护,保存在交换机中但不保存在配置文件中
2048//#设置密钥位数
客户端登陆SSH server服务端后自动获得分配钥匙
user-interfacevty04//进入虚拟终端
authentication-modeaaa//配置口令模式
protocolinboundssh
quit
aaa
local-userhuaweipasswordcipherhw@123
local-userhuaweiprivilegelevel15
local-userhuaweiservice-typessh//当通过password、password-dsa、passowrd-rsa认证时,需要在AAA视图下创建同名本地用户,并设置其服务类型和级别
quit
sshuserhuaweiauthentication-typepassword//创建SSH用户并指定其登陆验证方式
sshuserhuaweiservice-typestelnet//设置SSH用户服务类型
stelnetserverenable//打开设备SSH(stelnet)服务端功能
之后最好用xshell或其他尝试下远程登录是否成功。
三,写python脚本
importparamiko
importtime
log\_time=time.strftime("\%Y-\%m-\%d\%H:\%M:\%S",time.localtime())
user=input("username:")
password=input("password:")
f=open("ip.txt","r")
forlineinf.readlines():
ip=line.strip()
ssh=paramiko.SSHClient()
ssh.set\_missing\_host\_key\_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=ip,username=user,password=password)//ssh远程登录
print(log\_time+"成功连接交换机,开始巡检"+ip)
command=ssh.invoke\_shell()//用于创建一个子shell进程
command.send("system\n")
command.send("displayiprouting-table\n")
command.send("displaydevice\n")
command.send("displayenvironment\n")
command.send("displayalarmurgen\n")
command.send("displaymemory-usage\n")
command.send("displayversion\n")
command.send("displayfan\n")
f=open("check.txt","a")//这a代表写入,不能用w,w是直接叠加会将之前写入的数据清理。
time.sleep(2)
output=command.recv(65535)//返回结果字符为65535
result=output.decode("ascii")
f.write(result)
print(result)
f.close()
ssh.close()
这里的ip.txt
中每一行写入要巡检设备的ip地址
check.txt是一个空白文件,给程序写入结果数据。
审核编辑 :李倩
-
模块
+关注
关注
7文章
2707浏览量
47474 -
python
+关注
关注
56文章
4797浏览量
84689 -
虚拟网卡
+关注
关注
0文章
5浏览量
1418
原文标题:基于华为ensp使用python实现对交换机的巡检,有源代码!
文章出处:【微信号:网络威廉希尔官方网站 干货圈,微信公众号:网络威廉希尔官方网站 干货圈】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论