一、安装Paramiko模块
同样,由于Paramiko也是第三模块,所以我们需要在电脑上安装一下。在CMD,输入命令:pip3 install paramiko
然后进入python 解释器,输入:import paramiko
如果没有报错,就说明安装没问题啦!
ok,接下来,我们来说搭个简单环境,以后再搭批量的。
二、搭建实验环境
1、用模拟器上桥接台式电脑的网卡:
2、连线,配置交换机IP地址。
测试一下 ensp上的交换机与台式电脑的连通性:
3、交换机上配置SSH
用CRT验证一下,是否可以登录了:
ok,CRT都能正常ssh登录,那么待会我们写脚本登录方面也就没问题了。
三、Python脚本代码
我喜欢在Geany编辑器上写代码,想知道怎么安装的,也可以参考我之前的文章。
import paramiko import time ip = "192.168.56.100" user = "along" pw = "along123"
#欢迎关注网络工程师阿龙
ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname=ip, username=user , password=pw)
print("恭喜您成功登录到ensp模拟器上的交换机了!" , ip)
#连接成功后,调用invoke_shell()方法来唤醒shell,也就是华为系统命令行,同时把它赋值给command,方便后续调用。
command = ssh.invoke_shell()
#向设备发送命令,需要执行的命令。
command.send("system\n") command.send("vlan 20\n") command.send("quit \n") command.send("int vlan 20 \n") command.send("ip add 192.168.20.200 24 \n") command.send("quit") command.send("quit")
#欢迎关注网络工程师阿龙
#使用sleep函数,让脚步执行后休息2s,再回显内容。65535是回显多少个字符
time.sleep(2) output = command.recv(65535) print(output.decode("ascii"))
#配置完后,用close方法退出ssh 欢迎关注网络工程师阿龙
ssh.close()
上述代码编写完后,在执行前,我们先看看交换机上,目前还没有vlanif 20的接口及ip地址:
现在,我们先执行以下python脚本,待会你会发现,真的多出来了。
脚本执行成功,我们之间登录ensp模拟器上的交换机,确认一下配置是否真的多这一条配置了?
果然配置成功了吧! 是不是瞬间觉得编程很好玩?是不是觉得网络工程师玩编程没什么难度,so easy!