在上篇文章的基础上优化了脚本,本次采用了getpass模块和for循环进行了优化,具体脚本如下:
代码语言:javascript复制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 terminaln')
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('endn')
command.send('wr memn')
time.sleep(2)
output = command.recv(65535).decode('ASCII')
print (output)
ssh_client.close
实验环境
eve-ng模拟器中桥接本地计算机来做本实验,拓扑如下:
SW1-5都已经做完相应的初始化了(ip,ssh),首先查看下脚本运行前各交换机vlan配置情况:
运行脚本演示如下:
根据上面视频可看出脚本已经批量创建vlan成功了
欢迎各位感兴趣的小伙伴一起交流学习,优化脚本,做出适合网工使用的小脚本。