一个非常实用的Python SSH库

前言

Python的Paramiko库,它是一个用于实现SSHv2协议的客户端和服务器的库。通过使用Paramiko,我们可以在Python程序中轻松地实现远程服务器的管理、文件传输等功能。特别做智能硬件产品的同学要熟悉它,因为它能为你减少很多麻烦,在我以前的工作中,对智能硬件做各种测试就是通过Paramiko连接设备下发各种命令

一.安装

pip install paramiko

二.基本用法

    1.创建一个ssh连接客户端

import paramiko
ssh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

2.添加服务器的SSH密钥(可选)

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

2.connect()创建连接,连接远程服务,各种智能硬件,服务器等

hostname = '192.168.31.230'port = 22username = 'kali'password = 'kali'ssh.connect(hostname, port, username, password)

3.执行远程命令​​​​​​​

stdin, stdout, stderr = ssh.exec_command('ls')print(stdout.read().decode()) # 打印输出结果print(stderrh.read().decode())# 输出错误信息# 返回结果 DesktopDocumentsDownloadsMusicPicturesPublicTemplatesVideos

4.文件下载​​​​​​​

local_file = 'D:/code/ssh/local_file.txt'  # 本地文件路径和名称remote_file = '/home/kali/remote_file.txt'  # 远程文件路径和名称sftp = ssh.open_sftp()  # 打开SFTP会话sftp.get(remote_file, local_file)  # 从远程服务器下载文件到本地sftp.close()  # 关闭SFTP会话

5.文件上传

local_file = 'D:/code/ssh/local_file2.txt'  # 本地文件路径和名称remote_file = '/home/kali/remote_file2.txt'  # 远程文件路径和名称sftp = ssh.open_sftp()  # 打开SFTP会话sftp.put(local_file, remote_file)  # 上传本地文件到远程服务器sftp.close()  # 关闭SFTP会话

 

6.关闭连接

ssh.close() #关闭连接

三.完整代码如下​​​​​​​

import paramikossh = paramiko.SSHClient() # 创建客服端ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 添加秘钥hostname = '192.168.31.230'port = 22username = 'kali'password = 'kali'ssh.connect(hostname, port, username, password) # 创建连接stdin, stdout, stderr = ssh.exec_command('ls') # 执行lsprint(stdout.read().decode())# 下载local_file = 'D:/code/ssh/local_file.txt'  # 本地文件路径和名称remote_file = '/home/kali/remote_file.txt'  # 远程文件路径和名称sftp = ssh.open_sftp()  # 打开SFTP会话sftp.get(remote_file, local_file)  # 从远程服务器下载文件到本地# 上传local_file2 = 'D:/code/ssh/local_file2.txt'  # 本地文件路径和名称remote_file2 = '/home/kali/remote_file2.txt'  # 远程文件路径和名称sftp = ssh.open_sftp()  # 打开SFTP会话sftp.put(local_file2, remote_file2)  # 上传本地文件到远程服务器sftp.close()  # 关闭SFTP会话ssh.close() # 关闭连接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300543.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在腾讯,我的试用期总结!

在腾讯的 3 个月,我经历了些什么?大家好,我是鱼皮。最近不少小伙伴顺利毕业,入职了新公司,开始了人生第一段正式工作经历。但对于很多公司,如果你想要成为正式员工,是需要先经历几个月的试用期的…

这6个动作,据说只有20%的人能做到!| 今日最佳

全世界只有3.14 %的人关注了青少年数学之旅你的手指够灵活吗?能做出下面这些动作在回答吧。据说就是下面这6个动作,据说只有20%的人能做到哦!大家不妨试试,看看你是不是这20%中的一员。PS:反正笔者已经十指已打结了...…

打造个性化的Internet Explorer

作者:孙辉 在Microsoft的软件哲学中,框架窗口是一个十分重要的角色,这类窗口简直无处不在。所谓框架窗口,就是四个窗口边上具有停靠对象能力的窗口对象,从现象上看,框架窗口有十分特别的“边”,…

百度家电行业报告摘录

上图反映了关注家电信息的网民在百度频道的活跃情况。很明显,百度贴吧、百度图片和百度知道是网民最活跃的频道,特别是百度贴吧,有超过四分之一的检索量都来自于百度贴吧。百度有不少以家电品牌或产品为主题的贴吧,比如海尔吧、TC…

如何识别能把桥压塌的大车?快看!能救命!

全世界只有3.14 % 的人关注了青少年数学之旅2019年10月10日晚6:10左右,江苏无锡市北环路附近一高架桥出现桥面侧翻,经现场初步勘测,桥下被压小车3辆(其中一辆系停放车辆,无人)。经搜救确认,事故…

如何用outlook express 收发邮件

一.创建用户1.打开Outlook express软件,单击“工具”选项,选择“帐户”选项。2.单击“添加”按钮,选择“邮件”选项。3.在“连接向导”中,输入发件人姓名,在对方收到邮件后,发件人姓名将会显示在…

java虚拟机 山寨机_十年前的山寨机居然有系统?没错,还是纯国产的

文丨太平洋数码苍茫的天涯是我的爱,绵绵的青山脚下花正开,什么样的节奏是最呀最摇摆……你是我天边最美的云彩,让我用心把你留下来(留下来)……不知道大家是否还记得这段熟悉的旋律,总之小编我今天再次回听这首歌的时候身体依然会…

dotnet中的counters说明(一)

在dotnet中,常用的收集指标有:System.Runtime 计数器Microsoft.AspNetCore.Hosting计数器Microsoft.AspNetCore.Http.Connections计数器Microsoft-AspNetCore-Server-Kestrel计数器System.Net.Http计数器(>.NET5可用)System.Net.NameResolution计数器…

当才华还撑不起梦想时,你应该静下心来看这些

全世界只有3.14 % 的人关注了青少年数学之旅在工作之余,我们大量的碎片时间被手机占据。无意识的刷手机打发无聊,不如有趣又高品质的积累。我们特意精选了在不同领域的几个高品质公众号代表,希望让你在快乐打发闲暇时光的同时,也能…

.net core ——微服务内通信Thrift和Http客户端响应比较

1、Benchmark介绍wiki中有定义:基准测试是运行计算机程序,一组程序或其他操作的行为,以便评估对象的相对性能,通常是通过对其运行许多标准测试和试验。目前许多成熟的github开源项目,均采用Benchmark测试结果作为性能依…

Discuz添加自定义模板广告

在做Discuz中广告的时候碰到个大问题&#xff0c;现在我需要做一个轮播的通屏广告位&#xff0c;调用广告图片的代码应该是以下代码&#xff1a;<ul> <li style"background:url(图片地址) no-repeat center top;"><a href"#"></a…

我居然手写了Spring框架

手写完了刚参加工作那会接触java还是用的struct的时代&#xff0c;后面在SSH火爆时代的时候我转战.net,多年之后公司转java技术栈已经是Spring的天下&#xff0c;源码嚼了很多遍于是很想尝试把这套东西用在.net平台上。社区有个Spring.net项目已经多年不维护了&#xff0c;而且…

下班以后看什么,决定你人生的高度

全世界只有3.14 % 的人关注了青少年数学之旅王小波说&#xff1a;我活在世上&#xff0c;无非想要明白些道理&#xff0c;遇见些有趣的事&#xff0c;倘能如我所愿&#xff0c;我的一生就算成功。你的圈子将决定你的人生。每一位对事物都有着独特的态度让你成为一个有趣的人。今…

Mahout的taste推荐系统里的几种Recommender分析

Taste简介 看自:http://blog.csdn.net/zhoubl668/article/details/13297583Mahout 是apache下的一个java语言的开源大数据机器学习项目&#xff0c;与其他机器学习项目不同的是&#xff0c;它的算法多数是mapreduce方式写的&#xff0c;可以在hadoop上运行&#xff0c;并行化处…

bytecode java_Java 字节码解读

一、源代码public classPeople {privateString name;private intage;}二、利用Javap 反编译查看字节码结构信息javap -v People.class结果如下Classfile /D:/work/byte-code/src/People.classLast modified2020-12-9; size 240bytesMD5 checksum 54b8c1ad94a9c9cf5074fd8520454…

他狂骗五千万美元消失17年...却被一个纪录片导演锲而不舍的追到了镜头前!...

全世界只有3.14 % 的人关注了青少年数学之旅他&#xff0c;曾经是个做啥都无师自通的天才。他&#xff0c;在众多的行业里&#xff0c;莫名进入到了艺术品行业&#xff0c;没过多久&#xff0c;他靠着惊人的自学能力&#xff0c;成了艺术圈里所有人津津乐道的画商。他&#xff…

合肥.NET俱乐部第二期技术沙龙活动预告

各位亲爱的.NET从业和爱好者们&#xff1a; 大家好&#xff0c;自从19年举办.NET俱乐部第一期技术沙龙后&#xff0c;.NET在开源以及跨平台的加持下继续飞速发展&#xff0c;各种开源项目不断涌现&#xff0c;各种社区活动持续开展&#xff0c;.NET的生态逐步丰富&#xff0…

你见过扇贝游泳吗? | 今日趣图

全世界只有3.14 % 的人关注了青少年数学之旅正常颈椎VS颈椎病患者的颈椎丁香医生小学入学测试题你知道答案吗&#xff1f;图源网络为什么我的假期这么短&#xff1f;文丁香医生五子棋必胜秘籍图源网络那些女生称呼的真相图沙县小吃你有见过扇贝游泳吗小迷妹神吐槽

实名羡慕,国内这些厂.NET薪资高的吓人!

小米招C#工程师&#xff0c;要求WPF自动化设备&#xff0c;20~40k * 14薪&#xff1b;小鹏招WPF/.NET/PLC&#xff0c;25~40k年终&#xff1b;特斯拉招自动化控制16~25k * 15薪&#xff0c;华为应届硕士C#运动控制&#xff0c;就已经17~25k *14薪了。这些招聘让人眼热&#xff…

修车工在生命最后,才知道自己的儿子是如今世界首富!

全世界只有3.14 % 的人关注了青少年数学之旅在美国亚利桑那州凤凰城&#xff0c;曾经住着一个叫Ted Jorgensen的自行车修理工&#xff0c;他开了一家自行车店&#xff0c;平时默默的卖车修车&#xff0c;日子过的平平淡淡。在凤凰城郊区&#xff0c;他和二婚妻子住在这么一间不…