0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍一些流行的Python SSH库以及如何使用它们

网络技术干货圈 来源:网络技术干货圈 2023-04-28 09:46 次阅读

Python SSH是一种用于远程连接和管理Linux服务器的Python库。使用Python SSH,您可以在远程服务器上执行命令、上传和下载文件、设置SSH代理等。在本文中,我们将介绍一些流行的Python SSH库,以及如何在Python中使用它们。

Paramiko

Paramiko是一个用于SSH连接和管理的Python库。它提供了SSH客户端和服务器的实现,以及支持SFTP文件传输和SSH代理的实用程序。下面是一个使用Paramiko进行SSH连接和执行命令的示例:

importparamiko

ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('example.com',username='username',password='password')

stdin,stdout,stderr=ssh.exec_command('ls')
print(stdout.read().decode())

ssh.close()

上述代码创建了一个SSH连接到example.com服务器,使用提供的用户名和密码进行身份验证,并在远程服务器上执行ls命令。然后,它将命令输出打印到控制台,并关闭SSH连接。

Fabric

Fabric是一个基于Paramiko库的Python库,用于自动化远程系统管理任务。它提供了一个简单的API,用于执行SSH命令、上传和下载文件、安装软件包等。下面是一个使用Fabric执行SSH命令的示例:

fromfabricimportConnection

c=Connection('example.com',user='username',connect_kwargs={'password':'password'})
result=c.run('ls',hide=True)
print(result.stdout.strip())

上述代码使用Fabric创建了一个SSH连接到example.com服务器,并在远程服务器上执行ls命令。然后,它将命令输出打印到控制台。

Netmiko

Netmiko是一个用于远程设备管理的Python库,包括网络设备和Linux服务器。它使用Paramiko库实现SSH连接,并提供了一个统一的API,用于管理远程设备的配置、文件传输、文件操作等。下面是一个使用Netmiko连接到网络设备并执行命令的示例:

fromnetmikoimportConnectHandler

device={
'device_type':'cisco_ios',
'ip':'192.168.1.1',
'username':'username',
'password':'password'
}

ssh=ConnectHandler(**device)
output=ssh.send_command('showipinterfacebrief')
print(output)
ssh.disconnect()

上述代码使用Netmiko创建了一个SSH连接到网络设备,执行show ip interface brief命令,并将输出打印到控制台。

总结

Python SSH提供了许多有用的库和工具,可以轻松地进行远程系统管理。在本文中,我们介绍了一些流行的Python SSH库,包括Paramiko、Fabric和Netmiko。这些库提供了不同的功能和使用场景,可以根据需要选择适合自己的工具。无论是远程执行命令、文件传输,还是设备管理,Python SSH都提供了灵活和强大的解决方案。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SSH
    SSH
    +关注

    关注

    0

    文章

    177

    浏览量

    16075
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83466
  • LINUX内核
    +关注

    关注

    1

    文章

    311

    浏览量

    21389

原文标题:网络工程师学Python-31-远程连接管理SSH

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    对***集成一些认识

    对***集成一些认识
    发表于 08-18 09:29

    哪个编程语言最流行

    的视频数量·Stack Overflow 和Reddit 里面关于该语言的帖子数量甚至,你还可以增加一些其它的统计维度,比如根据国家和城市来统计,你知道在北京哪种编程语言最流行么?上海呢?所以,这个
    发表于 12-31 10:51

    Python机器学习常用

    是同类API中最好的选择之。以上是Python开发工程师必知十大机器学习,除此之外,还有OverFeat、Nolearn以及Decaf等机器学习
    发表于 03-26 16:29

    python数据分析的类

    Python之所以这么流行,这么好用,就是因为Python提供了大量的第三方的,开箱即用,非常方便,而且还免费哦,学Python的同学里估
    发表于 05-10 15:18

    特别介绍Altera Arria 10 FPGA的一些约束规范,以及它们对电源设计的意义

    一些约束规范,以及它们对电源设计的意义。然后,我们讨论最佳电源传输解决方案,并制定计划以成功满足所有规范,并使用ADI公司的全套电源系统管理(PSM)IC使FPGA在最佳效率,速度和功率水平下运行
    发表于 09-10 10:38

    使用 Python 开始机器学习

    在这篇文章中我们会讲Python的重要特征和它适用于机器学习的原因,介绍一些重要的机器学习包,以及其他你可以获取更详细资源的地方。为什么用Pytho
    发表于 12-11 18:37

    Python包的pip安装

    pip是个安装和管理 Python 包的工具,用它我们可以方便的拉一些依赖的下来
    发表于 07-16 08:04

    MicroPython支持的一些常见开发板

    PythonPython 3编程语言的个简洁和快速实现,专门优化运行于个微控制器上。它基于ANSIC,语法跟Pyton 3基本致,
    发表于 08-05 07:30

    【建议收藏】Python大全

    套可用于 多种语言的轻量级的HTTP。hyper - Python的HTTP/2客户端。PySocks - SocksiPy更新并积极维护的版本,包括错误修复和一些其他的特征。作为socket模块的直接
    发表于 09-06 15:58

    介绍蓝牙的一些概念

    . 声明本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:第篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,
    发表于 07-22 06:03

    使用MicroPython的一些优缺点

    让我们来看看使用 MicroPython 的一些优缺点:Python 编程语言具有浅薄的学习曲线,这使得开发人员可以非常轻松地开始使用它。事实上,我遇到过学习 Python 的小学生!
    发表于 11-05 06:59

    用于物联网开发的python

    。对于数据分析(这是物联网系统的关键部分)而言,这是必不可少的,Python非常适合用于分析数据。重点介绍一些最佳利用Python来丰富物联网开发的好方法:
    发表于 12-25 09:28

    Python一些冷知识(

    ,而实例用小写的这准则。但这并不是强制性的,即使你反过来的也没有关系。但有一些内置的类,首字母都是小写,而实例都是大写。比如 bool 是类名,而 True,False 是其实例;比如
    发表于 04-01 16:55

    Python硬件验证——摘要

    & IP Core Verification)”卷。 本章介绍了 IC 和 IP 核设计过程验证中涉及的一些关键 Python 方法、工具、包和,包括以下章节: 纯
    发表于 11-03 13:07

    介绍Python中的作用域规则以及如何在程序中使用它们

    Python 中,每个变量都有一个定义它的作用域,这是指变量在程序中可见的范围。作用域决定了在哪里可以访问变量以及在何处可以更改它。
    的头像 发表于 04-20 16:59 820次阅读