简介
本次实验主要是利用python编辑脚本使用ssh登录ENSP模拟器上的虚拟交换机并进行一些简单的配置。
一.各工具的版本
1.ENSP
2.CentOS以及python版本
这里使用的是centOS8,映像文件在我另一篇博客里有下载方法,算了这里直接给你们百度网盘链接吧= =,我知道你们懒,不过这是7.6的:
链接:https://pan.baidu.com/s/1t1z9W0hwgDPEQLZjdoYHOg
提取码:gogo
这里提一下做这个实验之前,要把pip安装好,还有python就不用说了,另外这次要调用的模块paramiko也要安装好,这些都在我自己的文章里有:
https://blog.csdn.net/qian15211942162/article/details/119343012?spm=1001.2014.3001.5501
https://blog.csdn.net/qian15211942162/article/details/119352248
二.实验步骤
1.实验拓扑
这里用了一个二层交换机LSW 1和一个三层交换机LSW 2,一个云彩Cloud 1用来桥街到虚拟机CentOS。
2.三层交换机LSW 2配置
sysname Layer3Switch-1
aaa
local-user python password cipher 123
local-user python privilege level 3
local-user python service-type ssh
interface Vlanif1
ip address 192.168.218.11 255.255.255.0//注意这个地址是到时候从虚拟机上ssh访问服务器的地址,需要与虚拟机使用的网卡的网址在同一网段!
列如我这里虚拟机使用的是NAT,且网卡设置为192.168.218.10,网段是192.168.218.0 那这里我就设置为192.168.218.11(避免地址冲突)
stelnet server enable
ssh authentication-type default password
user-interface vty 0 4
authentication-mode aaa
protocol inbound ssh
3.二层交换机无需配置,云彩cloud1 配置
这里端口不要连错了哦。
4.centOS中python脚本的编辑
这里创建一个脚本ssh.py,并且给他添加权限,切换root用户,防止不能编辑文件。
touch ssh.py
chmod +rwx ssh.py
su root
vi ssh.py
脚本文件内容:
import paramiko
import time
ip = “192.168.218.11”
username = “python”
password = “123”
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip,username=username,password=password)
print ("Sucessfully login to ", ip)
command = ssh_client.invoke_shell()
command.send(“system-view\n”)
command.send(“int loop 0\n”)
command.send(“ip address 1.1.1.1 255.255.255.255\n”)
command.send(“quit\n”)
command.send(“save\n”)
time.sleep(1)
output = command.recv(65535)
print (output)
ssh_client.close
5.测试连通以及运行脚本
测试连通,在虚拟机上ping三层交换机:
ping 192.168.218.11
显示没问题后,在运行python3.8.2,再调用模块paramiko,看是否有问题:
python3.8
import paramiko
ctrl+c/z
这里显示没有问题,运行脚本:
python3.8 ssh.py
成功。
本文借鉴学习于知乎大佬奕心 [(https://www.zhihu.com/column/c_126268929)以及朱嘉盛大佬 (https://zhuanlan.zhihu.com/p/358970442)
侵权立删//