python 自动化运维 Paramiko 模块

简介:

Paramiko 模块

paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要安装。


安装方法 pip install paramiko 


模块使用介绍场景


1、在windows 下面远程执行liunx 主机的命令

连接方法一、

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#coding:utf-8
import  paramiko
ssh  =  paramiko.SSHClient()
 
known_hosts  =  paramiko.AutoAddPolicy()  ##默认的受信列表
ssh.set_missing_host_key_policy(known_hosts)  ##采用默认授信列表
 
#建立连接
ssh.connect(
     hostname  =  "192.168.10.31" ,
     port  =  22 ,
     username  =  "root" ,
     password  =  "1111"
)
stdin,stdout,stderr  =  ssh.exec_command( "free -m " )
print  (stdout.read())
ssh.close()

连接方法二、

1
2
3
4
5
6
7
8
trans  =  paramiko.Transport(( "192.168.10.31" , 22 ))
trans.connect(username  =  "root" ,password  =  "1111" )
#登录必须先实例化一个客户端
ssh  =  paramiko.SSHClient()
ssh._transport  =  trans  #设置客户端使用该通道
stdin,stdout,stderr  =  ssh.exec_command( "free -m " ) #远程执行命令
print  (stdout.read())
ssh.close()

#模拟服务器上传和下载功能

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#coding:utf-8
import  paramiko
 
trans  =  paramiko.Transport(( "192.168.10.31" ), 22 )
trans.connect(username  =  "root" ,password  =  "1111" )
trans  =  paramiko.Transport(( "192.168.10.31" , 22 ))
trans.connect(username  =  "root" ,password  =  "1111" )
sftp  =  paramiko.SFTPClient.from_transport(trans) #实例化文件一个上传下载的客户端
sftp  =  paramiko.SFTPClient.from_transport(trans)
#上传
#get从远程服务器上下载文件到本地
sftp.get( "/root/Desktop/test.py" , "t1.py" )
#下载
#put 上传本地文件到远程服务器
sftp.put( "by.txt" , "/root/Desktop/beiying.txt" )






本文转自 水滴石川1 51CTO博客,原文链接:http://blog.51cto.com/sdsca/1966871,如需转载请自行联系原作者
相关文章
|
11天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
21天前
|
存储 开发者 Python
Python中的collections模块与UserDict:用户自定义字典详解
【4月更文挑战第2天】在Python中,`collections.UserDict`是用于创建自定义字典行为的基类,它提供了一个可扩展的接口。通过继承`UserDict`,可以轻松添加或修改字典功能,如在`__init__`和`__setitem__`等方法中插入自定义逻辑。使用`UserDict`有助于保持代码可读性和可维护性,而不是直接继承内置的`dict`。例如,可以创建一个`LoggingDict`类,在设置键值对时记录操作。这样,开发者可以根据具体需求定制字典行为,同时保持对字典内部管理的抽象。
|
27天前
|
Web App开发 Python
在ModelScope中,你可以使用Python的浏览器自动化库
在ModelScope中,你可以使用Python的浏览器自动化库
15 2
|
23天前
|
存储 缓存 算法
Python中collections模块的deque双端队列:深入解析与应用
在Python的`collections`模块中,`deque`(双端队列)是一个线程安全、快速添加和删除元素的双端队列数据类型。它支持从队列的两端添加和弹出元素,提供了比列表更高的效率,特别是在处理大型数据集时。本文将详细解析`deque`的原理、使用方法以及它在各种场景中的应用。
|
1天前
|
前端开发 测试技术 C++
Python自动化测试面试:unittest、pytest与Selenium详解
【4月更文挑战第19天】本文聚焦Python自动化测试面试,重点讨论unittest、pytest和Selenium三大框架。unittest涉及断言、TestSuite和覆盖率报告;易错点包括测试代码冗余和异常处理。pytest涵盖fixtures、参数化测试和插件系统,要注意避免过度依赖unittest特性。Selenium的核心是WebDriver操作、等待策略和测试报告生成,强调智能等待和元素定位策略。掌握这些关键点将有助于提升面试表现。
6 0
|
1天前
|
XML Web App开发 测试技术
python的Web自动化测试
【4月更文挑战第16天】Python在Web自动化测试中广泛应用,借助Selenium(支持多浏览器交互)、BeautifulSoup(解析HTML/XML)、Requests(发送HTTP请求)和Unittest(测试框架)等工具。测试步骤包括环境搭建、编写测试用例、初始化浏览器、访问页面、操作元素、验证结果、关闭浏览器及运行报告。注意浏览器兼容性、动态内容处理和错误处理。这些组合能提升测试效率和质量。
11 6
|
3天前
|
数据挖掘 API 数据安全/隐私保护
python请求模块requests如何添加代理ip
python请求模块requests如何添加代理ip
|
5天前
|
测试技术 Python
Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘
Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘
|
5天前
|
Serverless 开发者 Python
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
37 1
|
7天前
|
Python
python学习-函数模块,数据结构,字符串和列表(下)
python学习-函数模块,数据结构,字符串和列表
44 0