实验记录
1.使用Paramiko登陆到单台交换机
实验拓扑
云彩桥接到本机环回接口:192.168.1.1/24
三层交换机IP:192.168.1.2/24
实验要求
使用Python Paramiko 模块实现SSH 登录单个交换机(192.168.56.2/24),配置LoopBack0地址:1.1.1.1/32。配置完成后,保存退出。
实验步骤
- 配置交换机管理地址,并测试与主机虚拟网卡连通性
[Huawei]vlan 10
[Huawei]int vlan 10
[Huawei-Vlanif10]ip add 192.168.1.2 24
[Huawei-GigabitEthernet0/0/1]port link-type access
[Huawei-GigabitEthernet0/0/1]port default vlan 10
- 配置三层交换机开启 SSH 服务端,配置 SSH 账号密码。
[Huawei]user-interface vty 0 4
[Huawei-ui-vty0-4]authentication-mode aaa
[Huawei-ui-vty0-4]protocol inbound ssh
[Huawei-aaa]local-user python password cipher 123
[Huawei-aaa]local-user python privilege level 3
[Huawei-aaa]local-user python service-type ssh
[Huawei]stelnet server enable
[Huawei]ssh authentication-type default password
- Python代码
import paramiko
import time
ip = '192.168.56.2'
username = 'python'
password = '123'
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) //默认情况下,Paramiko会拒绝任何未知的SSH public keys,使用此函数使其接收来自交换机提供的public keys。
ssh_client.connect(hostname=ip, username=username, password=password, look_for_keys=False)
print('Successfully connect to ' + ip)
commend = ssh_client.invoke_shell()
commend.send('sys\n')
commend.send('interface LoopBack 0\n')
commend.send('ip add 1.1.1.1 255.255.255.255\n')
commend.send('return\n')
commend.send('save\n')
commend.send('y\n')
time.sleep(3) //稍等3秒,然后执行以下操作
output = commend.recv(65535) //截取本次运行script后的所有输出记录,将其assign给output变量
print(output.decode("ascii"))
ssh_client.close()
查看运行结果
在交换机上查看
也可以在交换机上debuggiing ip packet可以看到日志
2.使用Paramiko登陆到连续子网交换机
实验拓扑
连续子网三层交换机:管理地址 192.168.1.2/24 to 192.168.1.5/24
实验要求
登陆到各台交换机,并为其配置vlan 11 to 15,保存配置并退出。
实验步骤
- 配置管理口IP地址,并配置SSH Server 登陆名以及密码等
- python代码