Python网络运维实验三(Paramiko模块登录SSH)

来自AI助手的总结
介绍用Paramiko远程登录华为交换机并配置Loopback接口IP的方法
Python网络运维实验三(Paramiko模块登录SSH)

一、实验运行环境

  • 主机操作系统:Window 10上运行Centos8(VMware虚拟机)
  • 网络设备:Ensp模拟器上运行的华为三层交换机Quidway S5700-28C-HI
  • 网络设备OS版本:华为IOS
  • Python版本:2

二、实验拓扑

实验三拓扑图

三、实验所用地址

  • 局域网IP段:0/24
  • 运行Python的Centos主机:20/24
  • SW1:11/24
  • SW2:12/24
  • SW3:13/24

四、实验目的

  • 通过Paramiko模块,分别登录交换机SW1,给交换机SW1的loopback0端口配置IP地址1.1.1.1/32

五、实验步骤

  • 每台交换机提前配好SSH,这里不做过多描述,如有需要请参考SSH配置实验
  • 配置互联地址,并进行Ping测试,这里不做演示
  • 建议提前手工远程登录交换机进行测试

5.1 先在虚拟机下载Python第三方模块Paramiko

执行命令’pip3.8 install paramiko’,安装完成如下

实验三图一

  • 5.4 这里不用管红线框里的内容,只是提醒版本过低而已

执行命令’python3.8’进入交互模式,输入’import paramiko’进行导入测试

实验三图二

  • 5.4 没报错说明下载Paramiko模块成功

5.2 在虚拟机上写Python脚本

  • 5.5 执行命令’vi ssh_Paramiko.py’进入文本模式

  • 5.5 切记:这里不要以ssh和Paramiko作为脚本名

输入’i’进行编辑模式,具体脚本如下

#通过import语句导入paramiko和time两个模块
import paramiko
import time
#创建三个变量分别对应需要登录交换机的管理IP地址、SSH用户名和密码
ip = "192.168.100.11"
username = "python"
password = "123"
#调用Paramiko的SSHClient()方法,将其赋值给变量ssh_client
ssh_client = paramiko.SSHClient()
#使用ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())来让Paramiko接受服务端提供的公钥
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#调用paramiko.SSHClient()的函数connect()进行SSH登录,look_for_keys=False用来解决避免Paramiko使用密钥来登录设备
ssh_client.connect(hostname=ip, username=username, \
           password=password, look_for_keys=False)
#打印登录成功的提示信息
print(f"Successfully connected to {ip}!")
#调用Paramiko的SSHClient()的invoke_shell()方法来唤醒shell,即设备命令行
command = ssh_client.invoke_shell()
#输入命令行进行接口配置并保存配置
command.send("sys\n")
command.send("int loop  0\n")
command.send("ip add 1.1.1.1 255.255.255.255\n")
command.send("return\n")
command.send("save\n")
command.send("y\n")
#调用time模块下的sleep()函数手动让Python休眠3秒
time.sleep(3)
#输入命令行展示接口信息
command.send("dis ip int bri\n")
#调用time模块下的sleep()函数手动让Python休眠1秒
time.sleep(1)
#设置命令行最大回显内容数并将其赋值给变量output
output = command.recv(65535)
#因为paramiko回显内容格式为字节型字符串,用decode("ascii")将其解析为ASCII编码
print(output.decode("ascii"))
#使用close方法退出SSH
ssh_client.close()
  • 5.5 按’esc’键退出文本模式,并执行命令’:wq’保存文本内容并退出

  • 5.5 执行命令’chmod +x ssh_Paramiko.py’给脚本加可执行权限

  • 5.5 切记:没有可执行权限不能执行脚本!!!

执行命令’python3.8 ssh_Paramiko.py’来运行脚本,结果如下:

实验三图三

  • 5.5 到这里实验差不多就结束了

六、拓展:Windows主机如何下载第三方模块Paramiko

6.1 具体步骤如下:

  • 6.1 先找到pip程序所在文件夹并复制其绝对路径,以’C:\Program Files\Python38\Scripts’举例

  • 6.1 同时按’window键’和’R’并输入’cmd’进入命令行界面

  • 6.1 执行命令’cd C:\Program Files\Python38\Scripts’进入pip程序所在文件夹中

  • 6.1 执行命令’pip install paramiko’下载第三方模块paramiko

  • 6.1 这个时候如果发生报错,下载失败则更新pip版本即可

  • 6.1 毕竟更新解万难,这里建议先更新版本

修改pip程序所在文件夹的权限,过程如下

实验三图四

实验三图五

实验三图六

  • 6.1 注:这里已经打过对勾修改过权限

在当前视图下执行命令’python -m pip install –upgrade pip’进行更新版本

实验三图七

  • 6.1 注:这是已更新完成后的截图

在当前视图下执行命令’pip install paramiko’下载第三方模块Paramiko

实验三图八

注:这是已下载好的截图,正常下载成功末尾有successfully的字样

  • 6.2 大功告成
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容