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的Template使用指南
Sep 11 Python
Python函数中*args和**kwargs来传递变长参数的用法
Jan 26 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
Jan 26 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
Jun 24 Python
Django 中自定义 Admin 样式与功能的实现方法
Jul 04 Python
python爬虫 模拟登录人人网过程解析
Jul 31 Python
python接口自动化如何封装获取常量的类
Dec 24 Python
Python中的 ansible 动态Inventory 脚本
Jan 19 Python
pip install 使用国内镜像的方法示例
Apr 03 Python
Anaconda的安装及其环境变量的配置详解
Apr 22 Python
python opencv角点检测连线功能的实现代码
Nov 24 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
PHP5.3安装Zend Guard Loader图文教程
2014/09/29 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
javascript新手语法小结
2008/06/15 Javascript
javascript 读取xml,写入xml 实现代码
2009/07/10 Javascript
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
Jquery 动态生成表格示例代码
2013/12/24 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
jQuery简单实现网页选项卡特效
2014/11/24 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
2020/04/03 Javascript
基于JavaScript实现控制下拉列表
2020/05/08 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
python简单获取数组元素个数的方法
2015/07/13 Python
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
python 实现对文件夹内的文件排序编号
2018/04/12 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
python实现扫雷游戏
2020/03/03 Python
Opencv求取连通区域重心实例
2020/06/04 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
美国滑雪和滑雪板商店:Buckman
2018/03/03 全球购物
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
学生档案自我鉴定
2013/10/07 职场文书
2014最新毕业证代领委托书
2014/09/26 职场文书
2014年办公室人员工作总结
2014/12/09 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书