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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。