一.基本使用

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

python paramiko_Python--Paramiko相关推荐

  1. python paramiko_Python Paramiko基本使用

    一.Paramiko简介 首先来看谁创造了paramiko,是一个名叫Jeff Forcier创建了paramiko项目.项目主页:http://www.paramiko.org,可以去看上面有很多相 ...

  2. python paramiko_Python Paramiko模块的使用实际案例

    本文研究的主要是Python Paramiko模块的使用的实例,具体如下. Windows下有很多非常好的SSH客户端,比如Putty.在python的世界里,你可以使用原始套接字和一些加密函数创建自 ...

  3. python paramiko_python paramiko

    paramiko 遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接,可以实现远程文件的上传,下载或通过ssh远程执行命令. 一.安装 root@ubuntu:~/paramiko#pip ...

  4. python paramiko_python paramiko的使用介绍

    一: 使用paramiko #设置ssh连接的远程主机地址和端口 t=paramiko.Transport((ip,port)) #设置登录名和密码 t.connect(username=userna ...

  5. 利用python模块paramiko在CentOS 6.3 64上搭建SFTP环境

    用python实现远程登陆主机执行命令或通过sftp上传下载文件,有个很好的模块paramiko模块来演示这些功能,使用起来很方便 CentOS 6.x上的python版本默认是2.6的,为了平台兼容 ...

  6. python paramiko使用_使用python的paramiko模块实现ssh与scp功能

    #1. 介绍 这篇文章简单地介绍了python的paramiko模块的用法,paramiko实现了SSH协议,能够方便地与远程计算机交互.简单的说,就是你在terminal下执行的如下语句,现在可以通 ...

  7. python ssh登陆模块_使用python的Paramiko模块登陆SSH

    paramiko是用Python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. python的paramiko模块可以方便的实现ssh登录,并执行命令. 1. pa ...

  8. 【Python】Paramiko模块在Windows10中import ssl报错的处理方法

    上一篇文章[Python]Paramiko模块实现Linux服务器远程文件操作 介绍了如何通过Paramiko进行 sftp的操作,但最近遇到一个问题,换上家里的windows10电脑后,执行脚本时发 ...

  9. python 多线程 paramiko实现批量命令输入输出

    远程批量执行命令 实现多线程执行 速度快 实现多并发登录 #-*- coding: utf-8 -*- #!/usr/bin/python import paramiko import threadi ...

  10. 【python】-- paramiko、跳板机(堡垒机)

    paramiko Python的paramiko模块,该模块用于连接远程服务器并执行相关命令,常用于作批量管理使用 一.下载: pip3 install paramiko 源码:查看 二.parami ...

最新文章

  1. 关于C++中数组下标越界不报错的问题
  2. hdu4994 博弈,按顺序拿球
  3. C# 特性(Attribute)入门教程
  4. 批量修改dos文件到unix
  5. 编写sonar插件 The following languages have no built-in quality profiles:xxx
  6. 鼠标 . 软驱 . 打印机 . 硬盘. 风扇 . 常见事故处理 -
  7. mysql查看版本号_十分钟了解MySQL事务机制
  8. 修复Bug大幅升级 Sun发布MySQL 5.1版
  9. Spring的Bean属性依赖注入
  10. read()/write()的生命旅程——前言与目录
  11. 台达伺服调试软件_万能机智能伺服油源调试说明
  12. 5-热力学第二、三定律
  13. 信息差、技能差、资源差、认知差
  14. C#开发中三层架构BLL,DAL还有IBLL和IDAL接口,请问为什么要定义接口?有什么用啊?
  15. Android的子线程(Thread)和Service、IntentService的区别?
  16. mysql 语句 面试题
  17. 【C语言数据结构与算法的应用4】巨大数----加减乘运算(万进制和Mec补码的应用)
  18. 【Web前端】HTML与HTML5 知识点梳理总结(自用笔记版)
  19. MOSAIC扩充VOC数据集
  20. 运动装备品牌排行榜,运动爱好者必备好物分享

热门文章

  1. 基于自动模糊聚类的图像分割研究(Matlab代码实现)
  2. 适合女生的蓝牙耳机有哪些?女士蓝牙耳机排行榜
  3. Android SwipeRefreshAndLoadLayout,下拉刷新,上拉更多,使用SwipeRefreshLayout自带的Progress
  4. mysql mgr监控_MGR监控报警
  5. 传智播客_张鹏_flash笔记(二)
  6. maya对象属性_maya添加属性,MAYA
  7. android耳机上报流程,Android系统中耳机按键键值上报不正确 解决过程
  8. css 轨道,css 实现多个小球绕轨道运动
  9. VS2012坦克大战的部分源码
  10. NLP分词算法深度综述学习总结