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列表操作使用示例分享
Feb 21 Python
浅析python 中__name__ = '__main__' 的作用
Jul 05 Python
Python编程入门之Hello World的三种实现方式
Nov 13 Python
Python基于select实现的socket服务器
Apr 13 Python
Python中字典(dict)合并的四种方法总结
Aug 10 Python
Python处理菜单消息操作示例【基于win32ui模块】
May 09 Python
python爬取微信公众号文章的方法
Feb 26 Python
Python将列表数据写入文件(txt, csv,excel)
Apr 03 Python
python英语单词测试小程序代码实例
Sep 09 Python
Python中*args和**kwargs的区别详解
Sep 17 Python
使用Python和百度语音识别生成视频字幕的实现
Apr 09 Python
使用keras实现孪生网络中的权值共享教程
Jun 11 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中英混合字符串截取函数代码
2011/07/17 PHP
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
Egret引擎开发指南之编译项目
2014/09/03 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
js实现图片和链接文字同步切换特效的方法
2015/02/20 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
JQuery动态添加Select的Option元素实现方法
2016/08/29 Javascript
js实现交通灯效果
2017/01/13 Javascript
利用纯js + transition动画实现移动端web轮播图详解
2017/09/10 Javascript
css和js实现弹出登录居中界面完整代码
2017/11/26 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
JavaScript实现公告栏上下滚动效果
2020/03/13 Javascript
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码
2020/08/27 Javascript
Python实现Linux的find命令实例分享
2017/06/04 Python
Python 一句话生成字母表的方法
2019/01/02 Python
使用Python的datetime库处理时间(RPA流程)
2019/11/24 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
python中count函数知识点浅析
2020/12/17 Python
彪马美国官网:PUMA美国
2017/03/09 全球购物
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
日本高岛屋百货购物网站:TAKASHIMAYA
2019/03/24 全球购物
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
NULL是什么,它是怎么定义的
2015/05/09 面试题
物业经理求职自我评价
2013/09/22 职场文书
1000字打架检讨书
2014/11/03 职场文书
领导工作表现评语
2015/01/04 职场文书
家长必看:义务教育,不得以面试 评测等名义选拔学生
2019/07/09 职场文书
Python中with上下文管理协议的作用及用法
2022/03/18 Python
使用Python解决图表与画布的间距问题
2022/04/11 Python