在上篇文章的基础上优化了脚本,本次采用了getpass模块和for循环进行了优化,具体脚本如下:
import paramiko
import time
import getpass
username = input('Username: ')
password = getpass.getpass('Password: ')
for i in range(11,16):
ip = '192.168.2.' + str(i)
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip, username=username, password=password, look_for_keys=False)
command = ssh_client.invoke_shell()
print ('已经成功登陆交换机 ' + ip)
command.send('configure terminal\n')
for i in range(11,16):
print ('正在创建VLAN:' + str(i))
command.send('vlan ' + str(i) + '\n')
time.sleep(1.5)
command.send('name Python_Vlan' + str(i) + '\n')
time.sleep(0.5)
command.send('end\n')
command.send('wr mem\n')
time.sleep(2)
output = command.recv(65535).decode('ASCII')
print (output)
ssh_client.close
实验环境
eve-ng模拟器中桥接本地计算机来做本实验,拓扑如下:
SW1-5都已经做完相应的初始化了(ip,ssh),首先查看下脚本运行前各交换机vlan配置情况:
运行脚本演示如下:
根据上面视频可看出脚本已经批量创建vlan成功了
欢迎各位感兴趣的小伙伴一起交流学习,优化脚本,做出适合网工使用的小脚本。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有