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编写爬虫小程序
May 14 Python
Python函数可变参数定义及其参数传递方式实例详解
May 25 Python
Python中datetime常用时间处理方法
Jun 15 Python
Python实现向服务器请求压缩数据及解压缩数据的方法示例
Jun 09 Python
Python实现PS滤镜中马赛克效果示例
Jan 20 Python
python3.6使用pymysql连接Mysql数据库
May 25 Python
python实现把二维列表变为一维列表的方法分析
Oct 08 Python
Python print不能立即打印的解决方式
Feb 19 Python
利用Python自动化操作AutoCAD的实现
Apr 01 Python
pycharm 复制代码出现空格的解决方式
Jan 15 Python
Python项目实战之使用Django框架实现支付宝付款功能
Feb 23 Python
Python中Permission denied的解决方案
Apr 02 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入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
js 代码优化点滴记录
2012/02/19 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
jquery ui dialog替代confirm实例分析
2016/01/25 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
Webpack打包css后z-index被重新计算的解决方法
2017/06/18 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
Vue动态生成表格的行和列
2019/07/18 Javascript
Win7上搭建Cocos2d-x 3.1.1开发环境
2014/07/03 Python
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
django实现分页的方法
2015/05/26 Python
基于python 爬虫爬到含空格的url的处理方法
2018/05/11 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
Django 对象关系映射(ORM)源码详解
2019/08/06 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
Python 实现自动获取种子磁力链接方式
2020/01/16 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
python 如何在测试中使用 Mock
2021/03/01 Python
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
大学生个人求职信例文
2014/07/07 职场文书
语文课外活动总结
2014/08/27 职场文书
学校领导班子四风对照检查材料
2014/09/27 职场文书
2015年电话销售工作总结范文
2015/04/20 职场文书
教你用Python写一个植物大战僵尸小游戏
2021/04/25 Python
CentOS MySql8 远程连接实战
2022/04/19 MySQL