Python Paramiko模块的安装与使用详解


Posted in Python onNovember 18, 2016

一、前言

常见的解决方法都会需要对远程服务器必要的配置,如果远程服务器只有一两台还好说,如果有N台,还需要逐台进行配置,或者需要使用代码进行以上操作时,上面的办法就不太方便了。而使用paramiko可以很好的解决以上问题,比起前面的方法,它仅需要在本地上安装相应的软件(python以及PyCrypto),对远程服务器没有配置要求,对于连接多台服务器,进行复杂的连接操作特别有帮助。下面本文就来详细的介绍Python Paramiko模块的安装与使用,一起学习学习吧。、

二、安装

安装paramiko有两个先决条件,python和另外一个名为PyCrypto的模块。

通常安装标准的python模块,只需要在模块的根目录下运行:

python setup.py build
python setup.py install

备注:安装前先检查是否安装gcc(yum -y install gcc)

2.1 PyCrypto安装

wget http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.tar.gz
tar -zxvf pycrypto-2.6.tar.gz
cd pycrypto-2.6/
python setup.py build && python setup.py install

测试:

python>> import Crypto

(编译时报错:error: command 'gcc' failed with exit status 1;这是因为缺少python-dev的软件包,所yum -y install python-devel)

2.2 paramiko安装

wget http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz
tar xvzf paramiko-1.7.7.1.tar.gz
cd paramiko-1.7.7.1/
python setup.py build && python setup.py install
Crypto error: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC'

测试:

python>> import paramiko
(Crypto error: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC'

找到 /usr/lib/python2.7/site-packages/Crypto/Util/number.py

if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC:

注释了

#if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC:

三、使用

3.1 执行远程命令

#!/usr/bin/python
import paramiko
 
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("某IP地址",22,"用户名", "口令")
stdin, stdout, stderr = ssh.exec_command("你的命令")
print stdout.readlines()
ssh.close()

3.2 上传文件到远程

#!/usr/bin/python
import paramiko
 
t = paramiko.Transport(("某IP地址",22))
t.connect(username = "用户名", password = "口令")
sftp = paramiko.SFTPClient.from_transport(t)
remotepath='/tmp/test.txt'
localpath='/tmp/test.txt'
sftp.put(localpath,remotepath)
t.close()

3.3 从远程下载文件

#!/usr/bin/python
import paramiko
 
t = paramiko.Transport(("某IP地址",22))
t.connect(username = "用户名", password = "口令")
sftp = paramiko.SFTPClient.from_transport(t)
remotepath='/tmp/test.txt'
localpath='/tmp/test.txt'
sftp.get(remotepath, localpath)
t.close()

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Python 相关文章推荐
python实现无证书加密解密实例
Oct 27 Python
对python的文件内注释 help注释方法
May 23 Python
Python实现的建造者模式示例
Aug 06 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
Sep 25 Python
给我一面国旗 python帮你实现
Sep 30 Python
深入浅析Python科学计算库Scipy及安装步骤
Oct 12 Python
Python 实现一行输入多个数字(用空格隔开)
Apr 29 Python
解析Tensorflow之MNIST的使用
Jun 30 Python
Pytorch如何切换 cpu和gpu的使用详解
Mar 01 Python
python 如何在list中找Topk的数值和索引
May 20 Python
用Python爬取某乎手机APP数据
Jun 15 Python
一小时学会TensorFlow2之基本操作2实例代码
Sep 04 Python
Python数据分析之真实IP请求Pandas详解
Nov 18 #Python
Python切换pip安装源的方法详解
Nov 18 #Python
Python max内置函数详细介绍
Nov 17 #Python
Python中的日期时间处理详解
Nov 17 #Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
Nov 16 #Python
Python进阶篇之字典操作总结
Nov 16 #Python
Python极简代码实现杨辉三角示例代码
Nov 15 #Python
You might like
PHP扩展程序实现守护进程
2015/04/16 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
PDO::setAttribute讲解
2019/01/29 PHP
理解Javascript_02_理解undefined和null
2010/10/11 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
鼠标经过显示二级菜单js特效
2013/08/13 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
js实现三级联动效果(简单易懂)
2017/03/27 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
微信小程序 导入图标实现过程详解
2019/10/11 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
Python中变量交换的例子
2014/08/25 Python
Python切片索引用法示例
2018/05/15 Python
小白入门篇使用Python搭建点击率预估模型
2018/10/12 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
英国翻新电子产品购物网站:Tech Trade
2017/12/25 全球购物
静心口服夜广告词
2014/03/20 职场文书
党员承诺书范文
2014/05/19 职场文书
会议接待欢迎标语
2014/10/08 职场文书
求职推荐信范文
2015/03/27 职场文书
小孩不笨观后感
2015/06/03 职场文书
红色电影观后感
2015/06/18 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript
Golang之sync.Pool使用详解
2021/05/06 Golang