Python模块:paramiko介绍

本文介绍了Paramiko的起源与发展,对比了Paramiko与SSH的区别与联系,并探讨了Paramiko在自动化运维领域的应用及其优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

paramiko的起源和发展

首先来看谁创造了paramiko,是一个名叫Jeff Forcier创建了paramiko项目
项目主页http://www.paramiko.org/
大家可以去看上面有很多相关的信息。然后这个项目是开源的,源码维护在github上。
源码在github https://github.com/paramiko/paramiko维护
这个paramiko它是非常著名的一个ssh的一个相关的项目。然后很多人在上面贡献源码,当然这个Jeff Forcier它是一个主要的维护者。
 
我们首先看一下paramiko的起源,最开始它是用Python的对这个ssh进行一个封装,封装就是对一些面向对象的方法,就是把变量和方法给它包装起来。提供一些外部的api给大家很方便的使用它,比如说ssh,它很复杂但是通过它的一个包装把它很简单的提供给大家使用,那么问题来了。什么是ssh呢。
ssh基本原理
简单来说ssh是用于计算机之间加密登陆的网络协议,协议就是端对端的一种通讯交互,我们可以看一下这个ssh它有什么特点。
SSH有什么特点
传统的网络服务程序,如rsh、FTP、POP和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。
 
而SSH是目前较可靠,专为远程登录会话和其它网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。
SSH之另一项优点为其传输的数据可以是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、POP、甚至为PPP提供一个安全的“通道”。
如何使用ssh
那么我们如何使用ssh
其实这个是一个基本的常识,ssh是linux,osx上的标配,比如说你的电脑是苹果电脑,它是osx系统,默认的它就有ssh是可以直接用的,那我们如何来看机子是否装有ssh呢,打开命令行输入
命令行 ssh usr@host进行查询。
那么这个ssh的命令行基本上就是ssh+username和ip,默认端口是222。
它的使用是非常简单的,我们一旦知道一台机子的它的ip跟用户名和密码,就能ssh来进行登录这样就可以进行交互式的操作,而且上面看它的特点它是,进过加密的是相对安全的,那我们本次所用的paramiko和ssh这个相互之间有什么特点呢。
paramiko VS ssh shell
首先ssh它是自带的使用非常的简单,但是paramiko呢它是一个更高层次的封装,可以实现更复杂的命令,一个实际工作中遇到的问题就是,面对自动化运维面对若干台机器Shell脚本,用ssh指令写Shell脚本是非常麻烦的。而且Shell脚本的话本身它的语法是不太好操作,但paramiko是基于Python的它明显是一个更好的选择,这个Python语言它本身更就是语法非常的简洁,语法非常的好写。paramiko就是基于Python的所以说用paramiko来操作这些指令的话是相对容易的。然后paramiko又跟好的扩展性。我们之后就可以看到其它用paramiko的一些扩展,但是用ssh的直接用它和这个Shell的话,扩展性是很差的。我们可以看出paramiko是有很大的优势的。

谁在使用paramiko

首先先就是在自动化运维的,就是DevOps这个领域内它在广泛的使用。而且很多paramiko二次开发工具最著名的就是,这个Jeff Forcier本人它,即是paramiko的一个维护者,也是fabic基于paramiko进行二次开发的一个工具的一个维护者。就是它本人在paramiko的基础上开发了fabic,当然也有其它的开发者,基于paramiko进行了其它的适用于自己项目的二次开发。
安装paramiko

建议安装在osx或者linux机器,方便,win下容易出错
为了开发部署方便,利用virtualenv建立虚拟环境
pip install paramiko

安装pip
pip是一个以Python计算机程序语言写成的软件包管理系统,它可以安装和管理软件包,另外不少的软件包也可以在“Python软件包索引”

安装Virtualenv
virtualenv通过创建独立Python开发环境的工具, 来解决依赖、版本以及间接权限
virtualenv创建一个拥有自己安装目录的环境, 这个环境不与其它虚拟环境共享库, 能够方便的管理python版本和管理python库
pip install virtualenv
 
激活env source tech/bin/activate
pip install paramiko
安装完之后来激活,paramiko
 
identity 身份认证 购VIP最低享 7 折! triangle vip 30元优惠券将在 04:24:36 后过期 去使用 triangle 数据可视化是将复杂的数据集通过图表、图像等视觉元素进行呈现,以便于人们更容易地理解和解读数据。在“数据可视化期末课设~学生成绩可视化分析.zip”这个压缩包中,我们可以看到一系列与数据可视化相关的资源,包括Jupyter代码、HTML图片、答辩PPT以及Word文档,这些内容涵盖了数据可视化的基础到高级应用,适合于完成一个全面的期末课程设计项目。 Jupyter代码是使用Python编程语言进行数据处理和可视化的主要工具。在这个项目中,学生可能使用了pandas库来加载和清洗数据,可能涉及到的数据处理步骤包括去除重复值、处理缺失值以及数据类型转换等。接着,他们可能使用matplotlib或seaborn库来创建各种图表,如直方图、散点图、箱线图等,以展示学生成绩的分布、对比和趋势。此外,更高级的可视化库如plotly或bokeh可能也被用来实现交互式图表,增加用户对数据的理解深度。 保存的HTML图片是Jupyter Notebook的输出结果,它展示了代码运行后的可视化效果。这些图片可以直观地揭示学生成绩的统计特征,例如平均分、标准差、最高分和最低分等。通过颜色编或者图例,我们可以识别出不同科目或者不同班级的表现,帮助分析教学质量和学生学习情况。 答辩PPT则可能包含项目的概述、目的、方法、结果和结论。在PPT中,学生可能会详细阐述他们选择特定可视化方法的理由,如何解读图表,以及从数据中得出的洞察。此外,PPT的制作也是展示其表达和沟通能力的重要部分,要求清晰、有逻辑地组织信息。 Word文档可能是项目报告,详细记录了整个过程,包括数据来源、预处理步骤、使用的可视化技术、分析结果以及可能遇到的问题和解决方案。报告中的数据分析部分会详细解释图表背后的含义,例如通过对比不同学科的分数分布,找出哪些科目可能存在困难,或者分析成绩与特定因素(如性别、年级等)的关系。 这个压缩包提供了完整的数据可视化项目实例,涉及了数据获取、处理、可视化和解释的一系列步骤,对于学习和掌握数据可视化技能非常有价值。通过这样的练习,学生不仅能够提高编程技巧,还能培养数据驱动思维和问题解决能力,为未来从事数据分析或相关领域的工作打下坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值