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里使用正则的findall函数的实例详解
Oct 19 Python
numpy数组拼接简单示例
Dec 15 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
Apr 15 Python
Python3.5装饰器原理及应用实例详解
Apr 30 Python
python中pip的使用和修改下载源的方法
Jul 08 Python
Python字符串的修改方法实例
Dec 19 Python
Python3变量与基本数据类型用法实例分析
Feb 14 Python
Python数组并集交集补集代码实例
Feb 18 Python
在Python中通过threshold创建mask方式
Feb 19 Python
python 比较字典value的最大值的几种方法
Apr 17 Python
Django静态资源部署404问题解决方案
May 11 Python
pytorch损失反向传播后梯度为none的问题
May 12 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
function.inc.php超越php
2006/12/09 PHP
PHP日期时间函数的高级应用技巧
2009/05/16 PHP
php fckeditor 调用的函数
2009/06/21 PHP
php二维数组排序详解
2013/11/06 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
2010/04/29 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
微信小程序 底部导航栏目开发资料
2016/12/05 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
学习Vue组件实例
2018/04/28 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
bootstrap 路径导航 分页 进度条的实例代码
2018/08/06 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
OpenLayers3实现图层控件功能
2020/09/25 Javascript
使用Python的Supervisor进行进程监控以及自动启动
2014/05/29 Python
python基础梳理(一)(推荐)
2019/04/06 Python
python写日志文件操作类与应用示例
2019/07/01 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
python如何实现单链表的反转
2020/02/10 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
python 实用工具状态机transitions
2020/11/21 Python
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
幼师自我鉴定
2014/02/01 职场文书
小学生读书感言
2014/02/12 职场文书
《美丽的公鸡》教学反思
2014/02/25 职场文书
基层干部2014全国两会学习心得体会
2014/03/10 职场文书
霸王洗发水广告词
2014/03/14 职场文书
查摆问题对照检查材料
2014/08/28 职场文书
学前教育专业求职信
2014/09/02 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
介绍信如何写
2015/01/31 职场文书
python获取对象信息的实例详解
2021/07/07 Python