1、简介

  大家会发现,常见的解决方法都会需要对远程服务器必要的配置,如果远程服务器只有一两台还好说,如果有N台,还需要逐台进行配置,或者需要使用代码进行以上操作时,上面的办法就不太方便了。

  使用paramiko可以很好的解决以上问题,比起前面的方法,它仅需要在本地上安装相应的软件(python以及PyCrypto),对远程服务器没有配置要求,对于连接多台服务器,进行复杂的连接操作特别有帮助。

2、安装

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

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

1
2
python setup.py build
python setup.py install

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

2.1 PyCrypto安装

1
2
3
4
5
6
7
方法一:(如果服务器上原来就在其它目录安装过这个包,那就加上–ignore-installed)
pip install --ignore-installed PyCrypto
方法二:
wget https://pypi.python.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz
tar zxvf pycrypto-2.6.1.tar.gz
cd pycrypto-2.6.1
python setup.py build && python setup.py install

 测试:

1
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、使用

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()

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139973.htm

本文转自奔跑在路上博客51CTO博客,原文链接http://blog.51cto.com/qiangsh/1979329如需转载请自行联系原作者

qianghong000

Python PyCrypto,Paramiko模块安装和使用相关推荐

  1. python ssh登陆模块_使用python的Paramiko模块登陆SSH

    paramiko是用Python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. python的paramiko模块可以方便的实现ssh登录,并执行命令. 1. pa ...

  2. python paramiko使用_使用python的paramiko模块实现ssh与scp功能

    #1. 介绍 这篇文章简单地介绍了python的paramiko模块的用法,paramiko实现了SSH协议,能够方便地与远程计算机交互.简单的说,就是你在terminal下执行的如下语句,现在可以通 ...

  3. python安装numpy模块-python的numpy模块安装不成功简单解决方法总结

    为了画个图,被numpy这个模块的安装真的折腾疯了!!!一直装不上,花了几个小时,看了网上的很多教程.方法发现总结得不是很全,这里总结一下,防止大家再出现这个问题没有解决方法. Python的魅力之一 ...

  4. 【Python】Paramiko模块在Windows10中import ssl报错的处理方法

    上一篇文章[Python]Paramiko模块实现Linux服务器远程文件操作 介绍了如何通过Paramiko进行 sftp的操作,但最近遇到一个问题,换上家里的windows10电脑后,执行脚本时发 ...

  5. python numpy安装步骤-python的numpy模块安装不成功简单解决方法总结

    为了画个图,被numpy这个模块的安装真的折腾疯了!!!一直装不上,花了几个小时,看了网上的很多教程.方法发现总结得不是很全,这里总结一下,防止大家再出现这个问题没有解决方法. Python的魅力之一 ...

  6. 【Python】常用模块安装命令

    [Python]常用模块安装命令 Python常用模块安装命令 pylab模块 No module named 'apkutils' No module named 'win32api' Python ...

  7. python pycrypto_Python PyCrypto,Paramiko模块安装和使用

    1.简介 大家会发现,常见的解决方法都会需要对远程服务器必要的配置,如果远程服务器只有一两台还好说,如果有N台,还需要逐台进行配置,或者需要使用代码进行以上操作时,上面的办法就不太方便了. 使用par ...

  8. python第四十九天--paramiko模块安装大作战

    准备开始学习:paramiko模块,发现这个模块十分难搞 安装不上 搞了半天,win10 64下 pytyon 3.6 的 paramiko模块 死活安不上,在网上不断的找资料,可是没有用,没有用啊 ...

  9. python中paramiko模块的使用

    paramiko是python一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接 1.可以远程操作服务器文件 例如: df:查看磁盘使用情况 mkdir:创建目录 mv/cp/m ...

最新文章

  1. mysql unsigned zerofill_Mysql中Unsigned和Zerofill数据型的使用(细节也很重要啊)
  2. R语言nchar函数统计字符串中字符个数实战
  3. 点击更新没反应_Edge浏览器双击无反应?再也不用烦恼啦
  4. 【AI学院】新手如何学CV?老司机带学有三书籍《深度学习之图像识别》,赠书8本...
  5. java 保存inputstream_java如何将一个InputStream写入文件啊?
  6. Docker镜像构成和定制
  7. android 前台服务自定义布局不显示_Android前台服务通知未显示
  8. Linux录音软件audacity安装:sudo yum install audacity
  9. 机器学习在植物病害识别研究中的应用
  10. 原来PC界面临洗牌的背后原因是因为存储
  11. Http下的各种操作类.WebApi系列~通过HttpClient来调用Web Api接口
  12. centos 5开机出现PCI错误:Not using MMCONFIG
  13. Layer下拉框监听
  14. debug工具_Hackintool for【黑】mac V3.4.4中文版 黑苹果必装工具箱
  15. ArcGIS软件中的坐标系及数据类型的概念
  16. 小学计算机期末评价方案,小学班级管理评价方案
  17. 谁之过?盘点2015年上半年IT宕机事件
  18. 2018-11-15-mqtt-mosquitto系列11之配置基于ca证书的桥接
  19. 使用visual studio2015 社区版开发office
  20. 前端无法识别<br/>,无法进行换行

热门文章

  1. webrtc java api_java – 使用WebSockets实现WebRTC信令
  2. 学成在线首页——静态页面基础项目(HTML+CSS)【学习笔记】
  3. 测试2年,薪资翻倍的面试养成系 I 小蘑菇的大厂的进击之路
  4. 打算年后跳槽的注意了... 这个岗位,人才缺口30万 薪资水涨船高
  5. 面试必考题:基本95%的面试都会被问到的?
  6. 小程序api 分享scene_抛弃微信小程序API的嵌套回调吧!
  7. Tuple and Tie
  8. Robust Quasistatic Finite Elements and Flesh Simulation
  9. 利用深度学习技术自动可靠的叶病检测(附数据+分割分类详细+公共总结)
  10. mysql5.7.20 sql mode_MySQL5.7中的sql_mode默认值带来的坑及解决方法