python paramiko_Python--Paramiko
一.基本使用
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--Queuezhuanlan.zhihu.com
python paramiko_Python--Paramiko相关推荐
- python paramiko_Python Paramiko基本使用
一.Paramiko简介 首先来看谁创造了paramiko,是一个名叫Jeff Forcier创建了paramiko项目.项目主页:http://www.paramiko.org,可以去看上面有很多相 ...
- python paramiko_Python Paramiko模块的使用实际案例
本文研究的主要是Python Paramiko模块的使用的实例,具体如下. Windows下有很多非常好的SSH客户端,比如Putty.在python的世界里,你可以使用原始套接字和一些加密函数创建自 ...
- python paramiko_python paramiko
paramiko 遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接,可以实现远程文件的上传,下载或通过ssh远程执行命令. 一.安装 root@ubuntu:~/paramiko#pip ...
- python paramiko_python paramiko的使用介绍
一: 使用paramiko #设置ssh连接的远程主机地址和端口 t=paramiko.Transport((ip,port)) #设置登录名和密码 t.connect(username=userna ...
- 利用python模块paramiko在CentOS 6.3 64上搭建SFTP环境
用python实现远程登陆主机执行命令或通过sftp上传下载文件,有个很好的模块paramiko模块来演示这些功能,使用起来很方便 CentOS 6.x上的python版本默认是2.6的,为了平台兼容 ...
- python paramiko使用_使用python的paramiko模块实现ssh与scp功能
#1. 介绍 这篇文章简单地介绍了python的paramiko模块的用法,paramiko实现了SSH协议,能够方便地与远程计算机交互.简单的说,就是你在terminal下执行的如下语句,现在可以通 ...
- python ssh登陆模块_使用python的Paramiko模块登陆SSH
paramiko是用Python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. python的paramiko模块可以方便的实现ssh登录,并执行命令. 1. pa ...
- 【Python】Paramiko模块在Windows10中import ssl报错的处理方法
上一篇文章[Python]Paramiko模块实现Linux服务器远程文件操作 介绍了如何通过Paramiko进行 sftp的操作,但最近遇到一个问题,换上家里的windows10电脑后,执行脚本时发 ...
- python 多线程 paramiko实现批量命令输入输出
远程批量执行命令 实现多线程执行 速度快 实现多并发登录 #-*- coding: utf-8 -*- #!/usr/bin/python import paramiko import threadi ...
- 【python】-- paramiko、跳板机(堡垒机)
paramiko Python的paramiko模块,该模块用于连接远程服务器并执行相关命令,常用于作批量管理使用 一.下载: pip3 install paramiko 源码:查看 二.parami ...
最新文章
- 关于C++中数组下标越界不报错的问题
- hdu4994 博弈,按顺序拿球
- C# 特性(Attribute)入门教程
- 批量修改dos文件到unix
- 编写sonar插件 The following languages have no built-in quality profiles:xxx
- 鼠标 . 软驱 . 打印机 . 硬盘. 风扇 . 常见事故处理 -
- mysql查看版本号_十分钟了解MySQL事务机制
- 修复Bug大幅升级 Sun发布MySQL 5.1版
- Spring的Bean属性依赖注入
- read()/write()的生命旅程——前言与目录
- 台达伺服调试软件_万能机智能伺服油源调试说明
- 5-热力学第二、三定律
- 信息差、技能差、资源差、认知差
- C#开发中三层架构BLL,DAL还有IBLL和IDAL接口,请问为什么要定义接口?有什么用啊?
- Android的子线程(Thread)和Service、IntentService的区别?
- mysql 语句 面试题
- 【C语言数据结构与算法的应用4】巨大数----加减乘运算(万进制和Mec补码的应用)
- 【Web前端】HTML与HTML5 知识点梳理总结(自用笔记版)
- MOSAIC扩充VOC数据集
- 运动装备品牌排行榜,运动爱好者必备好物分享
热门文章
- 基于自动模糊聚类的图像分割研究(Matlab代码实现)
- 适合女生的蓝牙耳机有哪些?女士蓝牙耳机排行榜
- Android SwipeRefreshAndLoadLayout,下拉刷新,上拉更多,使用SwipeRefreshLayout自带的Progress
- mysql mgr监控_MGR监控报警
- 传智播客_张鹏_flash笔记(二)
- maya对象属性_maya添加属性,MAYA
- android耳机上报流程,Android系统中耳机按键键值上报不正确 解决过程
- css 轨道,css 实现多个小球绕轨道运动
- VS2012坦克大战的部分源码
- NLP分词算法深度综述学习总结