一个非常实用的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.hqwc.cn/news/296921.html

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

相关文章

基于Python的电商平台淘宝商品评论数据采集与分析

引言 在电商竞争日益激烈的情况下,商家既要提高产品质量,又要洞悉客户的想法和需求,关注客户购买商品后的评论,而第三方API接口商家获取商品评价主要依赖于人工收集,不但效率低,而且准确度得不到保障。通过…

无约束优化问题求解(4):牛顿法后续

目录 前言SR1, DFP, BFGS之间的关系 BB方法Reference 前言 Emm,由于上一篇笔记的字数超过了要求(这还是第一次- -),就把后续内容放到这篇笔记里面了,公式的标号仍然不变,上一篇笔记的连接在这:…

WPF中DataContext的绑定技巧-粉丝专栏

(关注博主后,在“粉丝专栏”,可免费阅读此文) 先看效果: 上面的绑定值都是我们自定义的属性,有了以上的提示,那么我们可以轻松绑定字段,再也不用担心错误了。附带源码。 …

qt项目-《图像标注软件》源码阅读笔记-Shape类绘图及其子类

目录 1. Shape 概览 2. Shape 基类 2.1 字段 2.2 方法 2.3 嵌套类型 3. Shape2D 2d形状纯虚基类 3.1 字段 3.2 方法 4. Shape3D 3d形状纯虚基类 5. Shape2D子类 5.1 Rectangle 矩形类 1. Shape 概览 功能:Shape类及其子类负责形状的绘制及形状的存储。…

全部没有问题 (一.5)

java mooc练习 基础练习: 进阶练习: final 赋值一次 局部 必须赋值 抽象类 多态测试 package com.book;public class moocDraft1 {static int variable1;public void fatherMethod(moocDraft1 a){System.out.println(variable);}public static void…

C语言进阶---------作业复习

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

Python~字典快速上手

目录 Key的重要性 一 创建字典{} 二 字典用key查找 in(遍历)和[]用key查找 keyerror in和[]的效率对比 三 字典的插入/修改/删除(先查找) ​编辑 四 字典增删查改/遍历的效率 五 字典的遍历 for遍历可迭代对象拿到key 与创建顺序相同 keys/values/items方法 六 可…

Git本地仓库命令补充

说明:之前对Git本地仓库的基础使用总结过一篇笔记,Git本地仓库使用,本文对Git的一些基础命令进行补充。 一步提交 通常,我们本地仓库使用Git,文件都需要先 add,将文件从工作区加入到暂存区,然…

【PHY6222】绑定详解

1.函数详解 bStatus_t GAPBondMgr_SetParameter( uint16 param, uint8 len, void* pValue ) 设置绑定参数。 bStatus_t GAPBondMgr_GetParameter( uint16 param, void* pValue ) 获取绑定参数。 param: GAPBOND_PAIRING_MODE,配对模式,…

Flink CDC 1.0至3.0回忆录

Flink CDC 1.0至3.0回忆录 一、引言二、CDC概述三、Flink CDC 1.0:扬帆起航3.1 架构设计3.2 版本痛点 四、Flink CDC 2.0:成长突破4.1 DBlog 无锁算法4.2 FLIP-27 架构实现4.3 整体流程 五、Flink CDC 3.0:应运而生六、Flink CDC 的影响和价值…

创建型设计模式

创建型设计模式 一、六大基本原则1、单一职责原则2、开闭原则3、里氏代换原则4、依赖倒置原则5、接口隔离原则6、迪米特法则 二、设计模式总览三、具体代码实现工厂设计模式抽象工厂设计模式建造者设计模式原型设计模式单例设计模式 五种设计模式的主要代码以及实现包 一、六大…

前端常用的工具网站

前端常用的工具网站🔖 文章目录 前端常用的工具网站🔖1. 图片在线压缩2. iconfont--矢量图标3. JSON在线格式化4. EMOJIALL--表情符号5. removebg--去除图片背景6. FREE API--免费API接口7. Lorem picsum --随机图片8.UU在线工具 -- 聚合工具 1. 图片在线…