python远程连接ssh,ssh远程登录命令简单实例

  python远程连接ssh,ssh远程登录命令简单实例

  本文主要介绍python中的SSH远程登录设备。python中支持SSH协议的模块有两个:Paramiko和netmiko。本文主要介绍netmiko模块,有一定的参考价值。有兴趣的可以看看。

  00-1010实验拓扑实验目的:实验脚本代码优化python中有两个支持SSH协议的模块:Paramiko和netmiko。本实验使用netmiko模块。

  Netmikko模块是python的第三方模块,需要pip下载安装。(在联网的情况下)

  下载后进入Python 3.10解释器。如果import netmiko没有报告错误,则意味着netmiko安装成功。

  

目录

  将ensp的LSW1与本地虚拟网卡loopback0进行桥接,模拟将自己的电脑桥接到以下拓扑网络中。

  

实验拓扑

  通过netmiko模块的SSH逐一登录四台交换机LSW2-LSW5,依次为其配置STP。默认模式是MSTP。

  

实验目的:

  完整代码

  从netmiko导入连接处理程序

  对于(20,24):范围内的I

  SW={

  设备类型 : 华为,

  ip:10.0.1 str(i),

  用户名 :python ,

  密码 :123456 ,

  }

  连接=连接处理程序(* *软件)

  打印( \n )

  config_commands=[stp mode stp , dis stp include CIST Global Info]

  output=connect.send_config_set(配置命令)

  打印(输出)

  connect.save_config()

  1.从netmiko模块导入它的链接库函数ConnectHandler(),用于实现SSH登录网络设备。

  从netmiko导入连接处理程序

  2.创建一个字典SW,该字典包含device_type、ip、username、password四个必选值。device_type用于指定设备类型,这里我们用的是华为的设备,所以device_type为huawei。

  对于(20,24):范围内的I

  SW={

  设备类型 : 华为,

  ip:10.0.1 str(i),

  用户名 :python ,

  密码 :123456 ,

  }

  由于我们这里要登陆四台设备,所以要用for循环。

  3.调用ConnectHandler()函数,借用for循环,对字典SW进行SSH连接,将他赋值给变量connect,注意SW2前面的**作为标识。

  连接=连接处理程序(* *软件)

  Python中在形参前加“*”和“* *”,表示动态形参。

  在形参前添加“*”表示数组中可以接受和存储多个参数值。

  在形参前添加“* *”表示该形参被转换为字典类型。

  4.如果SSH登录成功,则提示成功登录

  打印( \n )

  5.创建一个名为config_commands的列表为参数,其元素为需要在交换机上执行的命令。

  config_commands=[stp mode stp , dis stp include CIST Global Info]

  6.然后以刚刚创建的config_commands的列表为参数,调用ConnectHandler()的send_config_set()函数来使用上述命令对SW做配置,并将配置过程打印出来。

  output=connect.send_config_set(配置命令)

  打印(输出)

  7.最后用save_config()保存设备配置

  connect.save_config()

  实验结果

  从上面的结果可以看出,netmiko额外进入了:系统查看并为我们返回。

  

实验脚本

  如果有大量交换机的管理ip地址没有规律性,那么直接使用for loop管理ip地址登录设备就不再那么灵活有用了。这时我们可以将所有交换机的ip地址放入一个名为ip_list的文件中,通过for循环readlines()读取文件中的每个ip地址,逐个登录设备。

  完整脚本

  从netmiko导入连接处理程序

  用open(ip_list.txt )作为f:

  对于f.readlines():中的行

  host=line.strip()

  SW={

  设备类型 : 华为,

  IP ip:host,#host是一个变量,不要随便引用。

  用户名 :python ,

  密码 :123456 ,

  }

  连接=连接处理程序(* *软件)

  打印( \n )

  config_commands=[stp mode stp , dis stp include CIST Global Info]

  output=connect.send_config_set(配置命令)

  打印(输出)

  connect.save_config()

  注意:ip_list要和python脚本在一个文件夹。

  结果

  关于python中SSH远程登录设备的文章到此结束。关于python中SSH远程登录设备的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: