广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中SSH远程登录设备怎么实现
  • 283
分享到

python中SSH远程登录设备怎么实现

2023-06-30 11:06:17 283人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python中ssh远程登录设备怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中SSH远程登录设备怎么实现文章都会有所收获,下面我们一起来看看吧。python中支持SSH协

这篇文章主要介绍了pythonssh远程登录设备怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中SSH远程登录设备怎么实现文章都会有所收获,下面我们一起来看看吧。

python中支持SSH协议的模块主要有Paramiko和netmiko两种,本次实验采用netmiko模块。

netmikko模块为python的第三方模块,需要使用pip来下载安装。(联网的情况下)

python中SSH远程登录设备怎么实现

下载完毕后,进入Python 3.10解释器,如果import netmiko没有报错,则说明Netmiko安装成功。

实验拓扑

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

python中SSH远程登录设备怎么实现

实验目的:

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

实验脚本

完整代码

from  netmiko import ConnectHandlerfor i in range(20,24):    SW={        'device_type':'huawei',        'ip':'10.0.1.'+str(i),        'username':'python',        'passWord':'123456',        }    connect=ConnectHandler(**SW)    print('\n'+'-----------------'+'成功登录到交换机'+SW['ip']+'-----------------')    config_commands=['stp mode stp','dis stp | include CIST Global Info']    output=connect.send_config_set(config_commands)    print(output)    connect.save_config()

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

from  netmiko import ConnectHandler

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

for i in range(20,24):    SW={        'device_type':'huawei',        'ip':'10.0.1.'+str(i),        'username':'python',        'password':'123456',        }

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

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

connect=ConnectHandler(**SW)

在Python的在形参前加'*'和'**'表示动态形参

在形参前加'*'表示可以接受多个实参值存进数组

对于在形参前加'**'表示表示接受参数转化为字典类型

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

  print('\n'+'-----------------'+'成功登录到交换机'+SW['ip']+'-----------------')

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(config_commands)print(output)

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

 connect.save_config()

实验结果

python中SSH远程登录设备怎么实现

从以上结果可知,netmiko额外替我们输入了:system view和return。 

代码优化

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

python中SSH远程登录设备怎么实现

 完整脚本

from  netmiko import ConnectHandlerwith open('ip_list.txt') as f:    for line in f.readlines():        host=line.strip()        SW={            'device_type':'huawei',            'ip':host,             #host是变量,不要粗心加了引号            'username':'python',            'password':'123456',            }        connect=ConnectHandler(**SW)        print('\n'+'-----------------'+'成功登录到交换机'+SW['ip']+'-----------------')        config_commands=['stp mode stp','dis stp | include CIST Global Info']        output=connect.send_config_set(config_commands)        print(output)        connect.save_config()

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

结果 

python中SSH远程登录设备怎么实现

关于“python中SSH远程登录设备怎么实现”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“python中SSH远程登录设备怎么实现”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: python中SSH远程登录设备怎么实现

本文链接: https://www.lsjlt.com/news/328417.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中SSH远程登录设备怎么实现
    这篇文章主要介绍了python中SSH远程登录设备怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中SSH远程登录设备怎么实现文章都会有所收获,下面我们一起来看看吧。python中支持SSH协...
    99+
    2023-06-30
  • python中SSH远程登录设备的实现方法
    目录实验拓扑实验目的:实验脚本代码优化python中支持SSH协议的模块主要有Paramiko和netmiko两种,本次实验采用netmiko模块。 netmikko模块为pytho...
    99+
    2022-11-10
  • centos怎么设置远程ssh登录
    要设置远程SSH登录,可以按照以下步骤进行操作:1. 安装OpenSSH Server:在CentOS上,可以使用如下命令安装Ope...
    99+
    2023-08-25
    centos
  • Python中怎么实现ssh批量登录
    这期内容当中小编将会给大家带来有关Python中怎么实现ssh批量登录,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。局域网内有一百多台电脑,全部都是linux操作系统,所有电脑配置相同,系统完全相同(包括...
    99+
    2023-06-17
  • centos怎么开启ssh远程登录
    要在CentOS上开启SSH远程登录,您需要按照以下步骤操作: 确保您的CentOS系统已安装了SSH服务器软件。可以使用以下命...
    99+
    2023-10-22
    centos ssh
  • Linux系统怎么远程登录SSH
    今天就跟大家聊聊有关Linux系统怎么远程登录SSH,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。SSH(Secure Shell)是一套协议标准,可以用来实现两台机器之间的安全登录...
    99+
    2023-06-28
  • centos7怎么开启ssh远程登录
    要在CentOS 7上启用SSH远程登录,请按照以下步骤操作:1. 确保已经安装了SSH服务器软件(OpenSSH)。如果没有安装,...
    99+
    2023-08-17
    centos7
  • ubuntu怎么开启ssh远程登录
    要在Ubuntu上开启SSH远程登录,可以按照以下步骤操作:1. 打开终端,输入以下命令安装OpenSSH Server(如果已经安...
    99+
    2023-08-19
    ubuntu
  • Solaris 11 中怎么设置root用户允许SSH远程登录
    Solaris 11 中怎么设置root用户允许SSH远程登录,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。修改配置文件:#vi /etc/user_attr然后将type=r...
    99+
    2023-06-06
  • VSCode远程SSH免密登录配置实现
    最近更新了VS Code之后,发现Remote-ssh拓展里的端口转发功能没了,很伤心,在探索的同时,顺手配置了一下VS Code ssh免密登录,以省去每次连接远程文件夹时输入两次...
    99+
    2022-11-12
  • SSH远程登陆Linux主机怎么实现
    这篇文章主要讲解了“SSH远程登陆Linux主机怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SSH远程登陆Linux主机怎么实现”吧!什么是SSH?SSH是一种网络协议,用于计算机...
    99+
    2023-06-15
  • linux ssh别名登录怎么实现
    本篇内容介绍了“linux ssh别名登录怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!可以创建~/.ssh/config 文件并为...
    99+
    2023-07-06
  • linux远程登录ssh免密码怎么配置
    这篇“linux远程登录ssh免密码怎么配置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2022-10-19
  • Ubuntu14.04 中怎么设置SSH 无密码登录
    这篇文章给大家介绍Ubuntu14.04 中怎么设置SSH 无密码登录,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。正常情况下,我们需要连上SSH的控制台输入用户名及其密码才行。如果两者全部正确,我们就可以访问,反之访...
    99+
    2023-06-13
  • linux中怎么设置无密码ssh登录
    这篇文章给大家介绍linux中怎么设置无密码ssh登录,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。概述在一些常用设备之间ssh, scp,不用输入密码可以节省不少时间。生成密钥先看本地是否有密钥,如果有,则不用生成,...
    99+
    2023-06-13
  • ubuntu开启SSH服务远程登录操作的实现
    ssh–secure shell,提供安全的远程登录。从事嵌入式开发搭建linux开发环境中,ssh的服务的安装是其中必不可少的一步。ssh方便一个开发小组中人员登录一台服务器,从事代码的编写、编译、运行。方便代码的共享...
    99+
    2022-06-04
    ubuntu开启SSH远程登录 ubuntu SSH远程登录
  • 怎么用shell脚本实现ssh登录
    要使用shell脚本实现SSH登录,你可以使用SSH命令行工具,并将其包含在shell脚本中。以下是一个简单的示例:```bash#...
    99+
    2023-10-12
    shell ssh
  • 使用Python实现Telnet远程登录
     by0x0021 2013-03-25 18:06:07 # -*- coding: utf-8 -*- import telnetlib '''Telnet远程登录:Windows客户端连接Linux服务器''...
    99+
    2023-01-31
    远程登录 Python Telnet
  • 腾讯云服务器怎么远程控制设备登录
    腾讯云服务器可以远程控制设备登录,下面是详细步骤: 打开电脑客户端,并按照指示选择“设置”>“应用程序”>“开发工具”>“远程桌面连接”。 在弹出的对话框中,点击“立即连接”或者“选择设备”按钮。 选择你的设备,并下一步。 确认你的设备...
    99+
    2023-10-26
    腾讯 控制设备 服务器
  • 怎么使用shell脚本实现ssh登录
    使用shell脚本实现SSH登录可以通过以下步骤实现:1. 创建一个新的shell脚本文件,比如`login.sh`。2. 在脚本文...
    99+
    2023-09-22
    shell ssh
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作