Python Paramiko模块的安装与使用详解

 更新时间:2016年11月18日 11:49:01   投稿:daisy  
最近闲着学习python,看到有个paramiko模块,貌似很强大,所以从网上学习后总结了这篇文章,下面这篇文章就给大家介绍了Python中Paramiko模块的安装与使用,文中介绍的很详细,相信对大家的学习很有帮助,有需要的朋友们下面来一起看看吧。

一、前言

常见的解决方法都会需要对远程服务器必要的配置,如果远程服务器只有一两台还好说,如果有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()

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • wxPython学习之主框架实例

    wxPython学习之主框架实例

    这篇文章主要介绍了wxPython学习之主框架应用实例,以一个基础的弹出窗体实例讲述了wxPython主框架应用程序的实现方法,需要的朋友可以参考下
    2014-09-09
  • python批量插入数据到mysql的3种方法

    python批量插入数据到mysql的3种方法

    这篇文章主要给大家介绍了关于python批量插入数据到mysql的3种方法,在日常处理数据的过程中,我们都有批量写入数据库的需求,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • mysql 之通过配置文件链接数据库

    mysql 之通过配置文件链接数据库

    这篇文章主要介绍了mysql 之通过配置文件链接数据库的相关资料,主要是一个单例饿汉式的获得数据库连接方法工具类的实现,需要的朋友可以参考下
    2017-08-08
  • 简析Python函数式编程字符串和元组及函数分类与高阶函数

    简析Python函数式编程字符串和元组及函数分类与高阶函数

    这篇文章主要介绍了Python函数式编程中的字符串、元组及函数分类与高阶函数,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-09-09
  • Python中operator模块的操作符使用示例总结

    Python中operator模块的操作符使用示例总结

    operator模块中包含了Python的各种内置操作符,诸如逻辑、比较、计算等,这里我们针对一些常用的操作符来作一个Python中operator模块的操作符使用示例总结:
    2016-06-06
  • python绘制评估优化算法性能的测试函数

    python绘制评估优化算法性能的测试函数

    这篇文章主要为大家详细介绍了python绘制评估优化算法性能的测试函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • python httpx的具体使用

    python httpx的具体使用

    本文主要介绍了python httpx的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Python OpenCV 彩色与灰度图像的转换实现

    Python OpenCV 彩色与灰度图像的转换实现

    为了加快处理速度在图像处理算法中,往往需要把彩色图像转换为灰度图像,本文主要介绍了Python OpenCV 彩色与灰度图像的转换实现,感兴趣的可以了解一下
    2021-06-06
  • Python实现简单拆分PDF文件的方法

    Python实现简单拆分PDF文件的方法

    这篇文章主要介绍了Python实现简单拆分PDF文件的方法,可实现将一个PDF文件拆分成指定份数的功能,涉及pyPdf模块的使用技巧,需要的朋友可以参考下
    2015-07-07
  • Python图像处理实现两幅图像合成一幅图像的方法【测试可用】

    Python图像处理实现两幅图像合成一幅图像的方法【测试可用】

    这篇文章主要介绍了Python图像处理实现两幅图像合成一幅图像的方法,结合实例形式分析了Python使用Image.blend()接口与Image.composite()接口进行图像合成的相关操作技巧,需要的朋友可以参考下
    2019-01-01

最新评论