Python3 网络设备SSH批量命令下发

本文介绍如何使用Python3通过SSH进行批量命令下发,支持H3C、CISCO和HUAWEI设备。在CentOS7上,首先安装python3和paramiko模块。命令和文件格式分别说明,设备信息存储在CSV文件,命令存储在对应类型的文本文件中,通过脚本实现自动化操作。
摘要由CSDN通过智能技术生成

Python3 SSH批量命令下发(支持H3C/CISCO/HUAWEI)

前言

基于CentOS7的批量命令下发,CentOS安装相关组件命令如下:
CentOS7最小化安装后
yum install python3 -y #安装python3
pip3 install paramiko # 安装SSH模块

命令&文件格式

设备读取文件:存放在/home目录下
vim /home/user.csv
host_ip,host_port,user,password,type
10.1.1.102,22,cisco,cisco,cisco
10.1.1.103,22,cisco,cisco,cisco
10.1.1.104,22,cisco,cisco,cisco
10.1.1.101,22,cisco,cisco,cisco
命令行存放文本格式:
vim /home/cisco.txt
enable
conf t
do wr
注意创建的命令行文件名必须:h3c.txt/cisco.txt/hw.txt,其中type作为识别项:cisco,hw,h3c
PS:不要留下空行

脚本内容

#! /bin/python3
import paramiko,time,csv,threading,os
filepath="/home/user.csv"
h3c_Command="/home/h3c.txt"
hw_Command="/home/hw.txt"
cisco_Command="/home/cisco.txt"
sem=threading.Semaphore(4) #线程并发
date=time.strftime("%Y年%m月%d日")
txt=[ h3c_Command,hw_Command,cisco_Command ]
os.system(" touch /home/hw.txt & touch /home/h3c.txt & touch /home/cisco.txt")
filename="/home/"+date
f = open(filepath)
reader = csv.reader(f)
try:
    os.mkdir(filename)
except:
    print(filename,"文件夹已被创建!")

def user():
    f = open(filepath)
    next(f)
    print("登录以下设备:")
    for i in f:
        i=i[:-1]
        ip,type = i.split(',')[0],i.split(',')[4]
        print("Device_IP:%s Device_Type:%s" %(ip,type,))
    else:
        f.close()
        time.sleep(3)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值