本文最后更新于 559 天前,其中的信息可能已经有所发展或是发生改变。
python环境装python3.6,这里略过安装过程 ensp的安装可以参考我这篇文章: https://www.yulate.com/2021/b97b2fe9.html
IDE:pycharm
配置云以连通交换机与真实电脑
修改真实电脑vmvare1网卡 Ip地址
添加云到topo,此处注意一定要先修改网卡IP地址再添加云,否者云绑定网卡的ip不会是你修改的那个IP地址
云先要绑定刚刚修改的vmvare1网卡和UPD,再在端口映射器处将出端口编号修改为2,勾选双向端口,点击增加,即可实现真机与云的映射
这里我就直接点开s5700进行配置了
<Huawei>system-view
[Huawei]sys sw1
[sw1]int vlan 1
[sw1-Vlanif1]ip add 192.168.1.100 24 // 配置管理地址
[sw1-Vlanif1]quit
[sw1]stelnet server enable // 启动stelnet服务功能
Info: Succeeded in starting the Stelnet server.
[sw1]ssh authentication-type default password
[sw1]ssh user user1 authentication-type password
[sw1]ssh user user1 service-type all
[sw1]user-interface vty 0 4
[sw1-ui-vty0-4]authentication-mode aaa // 配置认证方式为密码认证
[sw1-ui-vty0-4]protocol inbound ssh // 指定VTY用户界面所支持的协议
[sw1-ui-vty0-4]quit
[sw1]aaa
[sw1-aaa]local-user user1 password cipher 123456 // 配置允许登录的用户名为user1,密码为密文形式的123456
[sw1-aaa]local-user user1 privilege level 3 // 配置用户user1的级别为3
[sw1-aaa]local-user user1 service-type ssh // 配置用户user1的服务类型为ssh
[sw1-aaa]quit
[sw1]rsa local-key-pair create // 生成本地RSA密钥对
The key name will be: sw1_Host
The range of public key size is (512 ~ 2048).
NOTES: If the key modulus is greater than 512,
it will take a few minutes.
Input the bits in the modulus[default = 512]: // 此处直接回车确认,使用默认值
Generating keys...
............++++++++++++
.........++++++++++++
.++++++++
.....................++++++++
配置完成我们可以在真实机远程ssh登录试一试,我这里使用工具是xshell7,你们也可以使用其他的远程连接工具如CRT之类的
主机地址输入我们刚才配置的管理地址,点击连接,出现密钥选择接受,用户名和密码就是刚才配置的账号密码
连接成功即会出现如下页面
到这ssh配置就完成了,接下来就是要到本文的重点内容了
python中支持SSH协议实现远程连接设备的模块主要有Paramiko和Netmiko两种,应Netmiko比Paramiko要简单好用太多本文主要使用Netmiko
随便创建一个Pure Python
创建完成后在项目里项目下创建一个名为ssh_Netmiko.py的脚本
pip3 install Netmiko
这里我们来写个脚本来远程配置交换机的LoopBack 1端口的ip为 192.168.10.200/24
from netmiko import ConnectHandler
sw1 = {
'device_type': 'huawei',
'ip': '192.168.1.100',
'username': 'user1',
'password': '123456'
}
connect = ConnectHandler(**sw1) # **作为标识不可省去
print("Successfully connected to " + sw1['ip']) # 如果登录成功提示用户并告知登录交换机的ip地址
config_commands = ['int LoopBack 1', 'ip add 192.168.10.200 24'] # 创建一个列表,其中的元素是依次要执行的命令
output = connect.send_config_set(config_commands) # 调用send_config_set执行命令,并回显配置过程
print(output)
result = connect.send_command('dis ip interface brief ') # 查看配置是否生效
print(result)
右键ssh_Netmiko.py点击Run运行脚本
可以发现接口IP已经配置成功了
Netmiko 和 Paramiko 的区别其中一个就在于他会自动输入system-view之类的命令,不需要你手动来定义
到这网络运维自动化系列的第一篇文章就结束了,这次主要来搭建基础环境和基础入门,这里我默认大家都有一定的代码基础,没有基础的话也没什么大关系,跟着敲就行了。
如有错误可以在评论区指出,谢谢大家的阅读。
浏览量: 248
扫码关注腾讯云开发者
领取腾讯云代金券
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. 腾讯云 版权所有