eNSP中玩转Python自动化——解锁网工新姿势

一、安装Paramiko模块

首先安装Python3
然后安装pip解释器
最后安装Paramiko模块

Windows+R打开Cmd,输入命令:

pip3 install paramiko

在这里插入图片描述
进入python,导入 paramiko模块:

import paramiko

在这里插入图片描述

二、搭建实验环境

1、桥接电脑网卡

在这里插入图片描述

2、配置交换机IP地址

在这里插入图片描述

交换机配置

<Huawei>sys
[Huawei]sys SW1
[SW1]
[SW1]vlan 10
[SW1-vlan10]qu
[SW1]
[SW1]int Vlanif 10
[SW1-Vlanif10]ip add 192.168.1.254 24
[SW1]int g0/0/1
[SW1-GigabitEthernet0/0/1]port link-type access
[SW1-GigabitEthernet0/0/1]port default  vlan  10

测试ensp的交换机与电脑的连通性

在这里插入图片描述
在这里插入图片描述

交换机配置SSH

[SW1]dsa local-key-pair create 
Info: The key name will be: SW1_Host_DSA.
Info: The key modulus can be any one of the following : 512, 1024, 2048.
Info: If the key modulus is greater than 512, it may take a few minutes.
Please input the modulus [default=512]:2048
Info: Generating keys...

[SW1]user-interface  vty  0 4
[SW1-ui-vty0-4]authentication-mode aaa
[SW1-ui-vty0-4]protocol inbound ssh 
[SW1-ui-vty0-4]

[SW1]aaa
[SW1-aaa]local-user huawei password cipher huawei@123
[SW1-aaa]local-user huawei privilege level 15
[SW1-aaa]local-user huawei service-type ssh
[SW1-aaa]

[SW1]ssh user  huawei authentication-type password
[SW1]ssh user huawei service-type stelnet
[SW1]stelnet server enable 

Xshell验证

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
登录成功

三、Python脚本

import paramiko
import time

ip = "192.168.1.254"
user = "huawei"
pw = "huawei@123"

#欢迎关注喜欢华为的李工
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.1 24 \n")
command.send("vlan 30\n")
command.send("quit \n")
command.send("int vlan 30 \n")
command.send("ip add 192.168.30.1 24 \n")
command.send("vlan 40\n")
command.send("quit \n")
command.send("int vlan 40 \n")
command.send("ip add 192.168.40.1 24 \n")
command.send("vlan 50\n")
command.send("quit \n")
command.send("int vlan 50 \n")
command.send("ip add 192.168.50.1 24 \n")
command.send("vlan 60\n")
command.send("quit \n")
command.send("int vlan 60 \n")
command.send("ip add 192.168.60.1 24 \n")
command.send("quit \n")
#欢迎关注喜欢华为的李工
#使用sleep函数,让脚步执行后休息2s,再回显内容。65535是回显多少个字符
time.sleep(2)
output = command.recv(65535)
print(output.decode("ascii"))

#配置完后,用close方法退出ssh  
ssh.close()     

在执行前还没有vlanif 20、vlanif 30、vlanif 40、vlanif 50、vlanif 60的接口及ip地址
在这里插入图片描述

1、执行python脚本

在这里插入图片描述
在这里插入图片描述
脚本执行成功

2、同步成功

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44309905/article/details/113030992