Python基础13 - Paramiko模块学习

@@@文章内容参照老男孩教育 Alex金角大王,武Sir银角大王@@@

一、Paramiko模块安装

系统环境CentOS 7,Python3.6

1、安装Python3.6

2、yum安装openssl-devel

1 [[email protected] ~]# yum install openssl-devel -y 

3、重新编译ssl模块

1 cd Python-3.6.2
2 ./configure --with-ssl
3 make
4 sudo make install

4使用pip安装paramiko模块

1 [[email protected] ~]# python3 -m pip install paramiko

二、SSHClient

用于连接远程服务器并执行基本命令

基于用户名密码连接:

 1 import paramiko
 2
 3 # 创建SSH对象
 4 ssh = paramiko.SSHClient()
 5 # 允许连接不在know_hosts文件中的主机
 6 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
 7 # 连接服务器
 8 ssh.connect(hostname = ‘10.0.0.10‘, port = 22, username = ‘root‘, password=‘12345‘)
 9
10 # 执行命令
11 stdin,stdout,stderr = ssh.exec_command(‘df‘)
12 # 获取命令结果
13 result = stdout.read() or stderr.read()
14 print(result.decode())
15
16 # 关闭连接
17 ssh.close()

基于公钥密钥连接

 1 import paramiko
 2
 3 private_key = paramiko.RSAKey.from_private_key_file(‘id_rsa_2048‘)
 4
 5 # 创建SSH对象
 6 ssh = paramiko.SSHClient()
 7 # 允许连接不在know_hosts文件中的主机
 8 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
 9 # 连接服务器
10 ssh.connect(hostname = ‘10.0.0.10‘,port = 22,username = ‘root‘, pkey=private_key)
11
12 # 执行命令
13 stdin,stdout,stderr = ssh.exec_command(‘df‘)
14 # 获取命令结果
15 result = stdout.read() or stderr.read()
16 print(result.decode())
17
18 # 关闭连接
19 ssh.close()

三、SFTPClient

用于连接远程服务器并执行上传下载

基于用户名密码上传下载

 1 import paramiko
 2
 3 transport = paramiko.Transport((‘10.0.0.10‘,22))
 4 transport.connect(username=‘root‘,password=‘12345‘)
 5
 6 sftp = paramiko.SFTPClient.from_transport(transport)
 7 # 将文件上传至服务器
 8 sftp.put(‘socketserver并发.py‘,‘/tmp/test.py‘)
 9 # 将文件下载到本地
10 sftp.get(‘Python-3.6.2.tar‘,‘Python.tar‘)
11
12 transport.close()

基于公钥密钥上传下载

 1 import paramiko
 2
 3 private_key = paramiko.RSAKey.from_private_key_file(‘id_rsa_2048‘)
 4
 5 transport = paramiko.Transport((‘10.0.0.10‘,22))
 6 transport.connect(username=‘root‘,pkey=private_key)
 7
 8 sftp = paramiko.SFTPClient.from_transport(transport)
 9 # 将文件上传至服务器
10 sftp.put(‘socketserver并发.py‘,‘/tmp/test2.py‘)
11 # 将文件下载到本地
12 sftp.get(‘Python-3.6.2.tar‘,‘Python.tar‘)
13
14 transport.close()

原文地址:https://www.cnblogs.com/auqf8612/p/8227800.html

时间: 2024-10-25 23:11:18

Python基础13 - Paramiko模块学习的相关文章

Day5 - Python基础5 常用模块学习

Python 之路 Day5 - 常用模块学习 本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,

python基础13 ---函数模块3(正则表达式)

正则表达式 一.正则表达式的本质 1.正则表达式的本质(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行. 2.正则表达式简介 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分 强大.得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的

python基础13 ---函数模块4(configparser模块)

configparser模块 一.configparser模块 1.什么是configparser模块:configparser模块操作配置文件,配置文件的格式与windows ini和linux的cf文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值),其配置文件(INI文件)由节(section).键.值组成. 2.configparser模块简介. ConfigParser 是用来读取配置文件的包.配置文件的格式如下:中括号"[ ]"内包含的为sect

python基础31[常用模块介绍]

python基础31[常用模块介绍] python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的libraries(modules)如下: 1)python运行时服务 * copy: copy模块提供了对复合(compound)对象(list,tuple,dict,custom class)进行浅拷贝和深拷贝的功能. * pickle: pickle模块被用来序列化python的对象到bytes流,从

python基础知识9——模块2——常见内置模块

内置模块 内置模块是Python自带的功能,在使用内置模块相应的功能时,需要[先导入]再[使用] 1.sys 用于提供对Python解释器相关的操作: 1 sys.argv 命令行参数List,第一个元素是程序本身路径 2 sys.exit(n) 退出程序,正常退出时exit(0) 3 sys.version 获取Python解释程序的版本信息 4 sys.maxint 最大的Int值 5 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 6 sys.platf

python基础知识8——模块1——自定义模块和第三方开源模块

模块的认识 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块. 如:os 是系统相关的模块:file是文件操作相关的模块 模块分为三种: 自定义模块 内置模块 第三方开源模块 自定义模块 1.定义模块 2.导入模块 Python之所以应用越来越广泛,在一定程度上也

Python基础5-常用模块

本节大纲 模块介绍 time &datetime模块 random os sys shutil shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式 模块,就是实现某种或者某类功能代码的合集. 类似于函数式编程和面向过程编程,函数式编程完成一个功能,其他代码可以调用,提供了代码的重用性跟代码间的耦合.对于一个复杂的功能,可能需要多个函数才能完成,多个.py文件的代码集合就叫做模块. 如:os是系统相关的模块:f

python 的日志logging模块学习

最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stackoverflow上查询到的一些内容. 官方文档 技术博客 基本用法 下面的代码展示了logging最基本的用法. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 # -*- cod

Python 基础之re 模块

Python 基础之大话 re 在使用re模块中主要会用到一下几个方法: re.match() #从头匹配一个字符串 re.search() #浏览全部字符串,匹配第一个符合规则的字符串 re.findall() #将匹配到的所有内容都放在一个列表中 #re.finditer() re.split() re.sub() 好,先简单的介绍一下re 模块中的基础知识: 1.元字符 . ^ $ * + ? {} []  | () \  , 2.\的功能:         #1.反斜杠后面跟元字符去除特