python paramiko_Python--Paramiko

2023-10-27

一.基本使用

paramiko是SSH协议的python实现,用于连接远程服务器进行命令交互和文件传输。

import paramiko

cmd = "ls"

task_info = "ps -aux"

# 创建客户端对象

ssh = paramiko.SSHClient()

# 接收并保存新的主机名,此外还有RejectPolicy()拒绝未知的主机名

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# hostname:目标主机地址,port:端口号,username:登录用户名,password:密码

ssh.connect(hostname="10.21.7.120", username="root", password="123456", port=22)

# 执行命令,timeout为此次会话的超时时间,返回的是(stdin, stdout, stderr)的三元组

stdin, stdout, stderr = ssh.exec_command(cmd, timeout=20)

# 需要解码才能把返回的内容转换为正常的字符串形式

print(stdout.read().decode())

输出:python

test

test2

公共

模板

视频

图片

文档

下载

音乐

桌面

注意的是,exec_command()每次执行完命令后都会返回到根目录下,所以执行命令时需要带上绝对路径。另外,执行命令后的标准输出在stdout, stderr对象的buff中,使用read()读取再进行解码才能看到正常输出。

二.该模块的内置函数:def load_system_host_keys(self, filename=None)

以只读方式载入本机的host keys文件,如果配置文件有更新就用新的替代旧的

def load_host_keys(self, filename)

载入hsot keys文件且可以增加新的host key

def save_host_keys(self, filename)

保存host heys文件,只有使用load_host_keys()方法载入的文件才能够被成功保存

def connect() 函数中有这样一段代码标明了使用可靠通信协议:

sock = socket.socket(af, socket.SOCK_STREAM)

if timeout is not None:

try:

sock.settimeout(timeout)

except:

pass

retry_on_signal(lambda: sock.connect(addr))

# Break out of the loop on success

breakdef close()

关闭连接

def exec_command()

打开会话窗口并设置超时时间,虽然open_session()有一个默认参数window_size=None,但是函数内部说明了更改这个参数可能有不利影响,所以设置超时时间就够了

chan = self._transport.open_session(timeout=timeout)

if get_pty:

chan.get_pty()

chan.settimeout(timeout)

if environment:

chan.update_environment(environment)

chan.exec_command(command)

# 这里可以看到缓冲区的输入输出是字节类型的数据,所以在获取执行命令后的输出时需要decode()

stdin = chan.makefile_stdin("wb", bufsize)

stdout = chan.makefile("r", bufsize)

stderr = chan.makefile_stderr("r", bufsize)

return stdin, stdout, stderrdef invoke_shell() # 待补充

def open_sftp(self) 开启一个sftp协议的会话用于文件传输

更多介绍参考官方文档Welcome to Paramiko!​www.paramiko.org

下一篇:Python--QueueINnoVation:Python--Queue​zhuanlan.zhihu.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python paramiko_Python--Paramiko 的相关文章

  • 一个程序来比较cuda/c在GPU/CPU的运行效率

    在网上看了一个比较GPU和CPU执行矩阵运算效率的帖子 亲自跑了一下 这是一个CUDA语言程序 请保存为 文件名 cu 我的主机配置如下 CPU G2030 内存8GB 显卡 GTX750ti 代码如下所示 include cuda run
  • Arduino for ESP8266&ESP32适用库ESPAsyncWebServer:WebSocket和EventSource

    文章目录 目的 WebSocket 使用方法 使用演示 更多说明 EventSource 使用方法 使用演示 更多说明 总结 目的 WebSocket和EventSource是HTML5开始提供的功能 WebSocket可以在单个TCP连接
  • oracle数据库-按多个字段排序

    应用场景 如果我们按多列排序且有升序和降序的时候的写法 排序时 有两个关键字 asc 表示升序 desc 表示降序 所以我们在order by 后面添加 asc desc select s bank code s account id s
  • MIME type备忘

    MIME type 是给文件管理器用的 包括桌面 也是文件管理器的一个展现形式 所以桌面的程序 有后缀名 就会自动变成某种图标 然后双击或者右键选打开方式就可以以某个定义好的程序打开 desktop文件可以包含MimeType applic
  • 学习一下 PDF417 条码

    PDF417条码 Portable Data File 便携式数据文件 是一种线性堆叠式的二维码 因为这个特性 在识读上 可以采用线性扫描的产品比如 激光扫描枪 CCD之类的条码阅读器读取 但实际操作效果不如影像式产品来的速度更快 PDF4
  • 【AI+医疗】AI在医疗影像设备工作周期中的应用探索

    导读 随着人工智能技术的飞速发展 越来越多的领域开始与人工智能技术深度融合 产生了一种新型的技术模式 AI AI 是指将人工智能技术与其他领域的技术或应用进行结合 在提高效率 精度和创新能力的同时 也为人工智能技术的发展提供了更多的应用场景
  • 基于LCD1602的躲闪类小游戏(使用STM32,平台Proteus,Keil,STM32cube)

    基于LCD1602的躲闪类小游戏 使用STM32 平台Proteus Keil STM32cube 这是我的 通信接口与技术 期末设计的一部分 花了一些时间终于做完啦 这个地方主要涉及到的是LCD1602的使用部分 B站游戏演示视频链接 演
  • Nexus搭建企业私有库

    需求背景 做私有库的工具有很多 如上一篇介绍的轻量级的npm包管理工具verdaccio 但刚好maven私服用的是nexus 所以最后选择了nexus来做npm的私服 和maven一套便于维护 nexus安装过程省略 创建 reposit
  • m.2接口和nvme区别_只看外表可不行,M.2接口也有大区别

    如今 硬盘早已告别了以往的大块头形象 如口香糖般大小的固态硬盘不仅让笔记本更轻更薄 还在速度上达到了新的高度 不过 这些固态硬盘虽然在外表上相差无几 但实际上还是有不少区别的 如果不注意这些区别而盲目购买硬件的话 那就很容易会产生无法使用的
  • 数据集(casia,msu,replay,oulu)的详细信息

    雷锅出品 1 casia 2 msu mfsd 3 replay 4 oulu 1 casia 总共有50个subject 其中30个作为test 20个作为train 每个subject总共有12个视频 故总共600个视频 其中3个为真
  • MySQL使用load data导入数据时报错: Cannot add or update a child row: a foreign key constraint fails

    目录 问题来源 解决办法 问题来源 初学MySQL 创建三个表department employee以及project 其中问题主要出现在employee表中 该表定义如下 CREATE TABLE employee id INT 10 P
  • Anaconda更换清华源、中科大源

    Anaconda是一个用于科学计算的Python发行版 支持Linux Mac Windows 包含了众多流行的科学计算 数据分析的Python 包 Anaconda安装好之后 默认的镜像是官方的 由于官网的镜像在境外 访问太慢或者不能访问
  • Mac下IDEA + Java EE Web + Tomcat环境配置

    本篇文章主要用于简要记录Mac下IDEA Java EE Web Tomcat的环境配置的流程 因为环境我已经事先配置好了 这里只演示流程 就不再重新安装了 下面我们开始吧 目录 IDEA Java EE Web Tomcat的环境配置 J
  • GPIO 有3种状态, 上拉,下拉,不拉

    GPIO 有3种状态 上拉 下拉 不拉 当GPIO处于output模式 一般选择no pull 引脚能够正确地输出输出高电平低电平信号 当GPIO处于input模式 需要根据默认的输入值来确定配置模式 如果默认输入的值为1时 最好配置为pu
  • 解决java.lang.NoClassDefFoundError错误

    本文目录 1 问题背景 2 NoClassDefFoundError错误发生的原因 3 NoClassDefFoundError和ClassNotFoundException区别 4 如何解决NoClassDefFoundError错误 5
  • 【免费】油管无字幕视频如何转录成文本

    啊哈 周末做了个好玩的 之前我做了个小工具 把 youtube 无字幕视频转录成音频 再提取文本 交给 ChatGPT 或者 http Claude ai 摘录出大纲 并组织成 markdown 文档 本来只自己用 因需要部署代码 现在我把
  • 【EI/SCOPUS征稿】第五届IEEE机器人与智能制造技术国际会议 (ISRIMT 2023)

    第五届IEEE机器人与智能制造技术国际会议 ISRIMT 2023 2023 5th International Symposium on Robotics Intelligent Manufacturing Technology 重要信息
  • 智能指针的原理、使用和实现

    1 智能指针的作用 C 程序设计中使用堆内存是非常频繁的操作 堆内存的申请和释放都由程序员自己管理 程序员自己管理堆内存可以提高了程序的效率 但是整体来说堆内存的管理是麻烦的 C 11中引入了智能指针的概念 方便管理堆内存 使用普通指针 容
  • uniapp:APP开发,后台保活

    前言 在ios中 软件切换至后台 手机息屏 过了十来秒软件就会被系统挂起 APP内的任务就不能继续执行 在android中 默认情况下 软件在后台运行的时候 触发某些特定条件的情况下 会被杀掉进程 解决方案 以下方案均测试息屏后台运行两小时

随机推荐

  • 谭安林:大数据在智能外呼系统的应用

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由云加社区技术沙龙发表于云 社区专栏 谭安林 腾讯高级工程师 2015年加入腾讯 8年互联网从业经历 从事大数据平台与产品开发相关工作 先后参与广告 金融等领域产品项目 目前负责
  • vue-gojs-初学笔记-从简单完整案例剖析开始

    第一章 认识GOJS
  • matlab 实现dtmf 信号检测代码,DTMF信号的产生与检测算法研究与MATLAB实现.rar

    摘 要 双音多频信号 DTMF Dual Tone Multi Frequency 是电话系统中电话机与交换机之间的一种用户信令 通常用于发送被叫号码 由于其抗干扰性强和高速传输的优点 除了应用于电话系统 还被在全世界范围内广泛使用在各种按
  • chatgpt基于Qt实现的To-Do List小项目(内附源码),码农将何去何从....

    笔者前言 OpenAI前一段发布聊天机器人模型ChatGPT 迅速出圈全网 chatgpt的出现 让LLMs走进了普通人的视野 同时 也让传统的AI助手变成了原始人 chatgpt向我们展示了LLM目前的天花板 而且这个天花板还相当高 在突
  • 基本的线程机制

    一 线程概念 并发编程使我们可以将程序划分成多个分离的 独立运行的任务 通过使用多线程机制 这些独立任务中的每一个都将由执行线程来驱动 一个线程就是在进程中的一个单一的顺序控制流 因此 单个进程可以拥有多个并发执行的任务 但是你的程序是的每
  • PostgreSQL:流复制环境清除 pg_xlog 日志

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 今天一流复制 Streaming Replication 数据库一目录空间告警 经查是 pg xlog 目录 WAL 日志文件过多 已超过阀值 pg xlog 是数据库重做
  • springboot整合LogstashTcpSocketAppender日志保存到ELK

    1 安装elasticsearch 2 安装kibana 3 安装logstash 配置logstash springboot logstash conf文件如下 input tcp mode gt server host gt 127 0
  • CMAKE 中 add_definitions的用法.

    1 官方的说明 Adds D define flags to the compilation of source files add definitions DFOO DBAR Adds definitions to the compile
  • 树莓派安装MJPG-streamer

    文章目录 一 简介 1 MJPG streamer方案的实现 2 JPEG MJPG格式简介 二 测试USB摄像头 1 开启摄像头服务 2 显示USB设备 3 查看设备文件 三 安装 1 更新源 2 安装必要的库 3 下载安装文件 4 编译
  • IPsec中IKE与ISAKMP过程分析(主模式-消息1)

    IPsec协议族中IKE Internet Key Exchange 是一种基于ISAKMP的协议 它为建立IPSec安全通信隧道提供了一种无痕密钥交换的机制 简单来说 IKE就是ISAKMP的扩展 为ISAKMP提供了更加高效 灵活和安全
  • ERP系统31.83版本发布,解决企业供应链管理难题

    近日 ERP系统31 83版本正式发布 无处不在的互联网 正在改变企业与用户的连接方式 一旦享受过什么叫实时 就再也无法忍受延迟 一旦感受过什么叫便捷 就再也无法忍受繁琐 企业如何全方位提高服务效率和用户体验 此次升级的智邦国际ERP系统3
  • [git] 小乌龟工具TortoiseGit记住账号密码 ——简单版操作指南

    如何让小乌龟 记住用户名和密码的操作指南 问题描述 步骤1 步骤2 问题描述 在小乌龟的使用过程中 每次push或者pull都要重复输入账号密码 非常麻烦 如果能记住账号密码就好了 这样就省去了时间 那么 怎么设置记住密码 步骤1 打开自己
  • JS中的类相关操作

    1 类相关操作 注意是 通过style属性来修改元素的样式 每修改一个样式 浏览器就需要重新渲染一次页面 这样的执行的性能是比较差的 而且这种形式当我们修改多个样式时 也不太方便 解决方案是 通过修改的class类名的方式 来达到效果 可以
  • 从零开始搭建游戏服务器第二天

    1 搭建开发环境 因为游戏服务器大多部署在linux系统下 所以这里选择的是Centos 7作为开发环境的镜像 预期以后的编译和调试也会在这个镜像上面进行开发 用镜像的方式开发有一个好处是可以随时打包带走 避免到一台新的机器上又要重新搭建开
  • 大数据--关联规则挖掘案例

    环境 虚拟机hive 本地spark python pyspark 数据 商品订单数据 商品种类数据 步骤 将数据上传到hdfs后 在python中完成hive表的创建 数据处理 关联规则挖掘 数据可视化 实现功能 对商品订单中的信息进行挖
  • 初 等 矩 阵

    定义 对单位阵进行一次初等变换后得到的矩阵称为初等矩阵 三种初等矩阵 初等矩阵的性质 初等矩阵的转置仍为同类型的初等矩阵 初等矩阵的行列式 初等矩阵都是非奇异的 矩阵行变换相当于左乘初等矩阵 矩阵列变换相当于右乘初等矩阵 以下命题是等价的
  • Spring的基础知识点,面试常问

    1 Spring是什么 Spring是一个轻量级的IoC和AOP容器框架 是为Java应用程序提供基础性服务的一套框架 目的是用于简化企业应用程序的开发 它使得开发者只需要关心业务需求 常见的配置方式有三种 基于XML的配置 基于注解的配置
  • 基于深度学习的CSI反馈(CsiNet)

    目录 前言 文章主旨 文章背景 现有CSI反馈方法 1 基于码本的CSI反馈方法 2 基于压缩感知的CSI反馈 研究动机 创新点 将CSI视为 图像 CsiNet特性 系统模型和CSI反馈 模型实现 encoder到decoder的层数按顺
  • 修改 input 中 placeholder的 颜色和 字体大小

    在微信小程序中使用 修改 input 中 placeholder 的字体大小 直接在里面添加 style 第一种 只能修改微信小程序
  • python paramiko_Python--Paramiko

    一 基本使用 paramiko是SSH协议的python实现 用于连接远程服务器进行命令交互和文件传输 import paramiko cmd ls task info ps aux 创建客户端对象 ssh paramiko SSHClie