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

总结

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

相关文章

  • python使用rstrip函数删除字符串末位字符

    python使用rstrip函数删除字符串末位字符

    rstrip函数用于删除字符串末位指定字符,默认为空白符,这篇文章主要介绍了python使用rstrip函数删除字符串末位字符的方法,需要的朋友可以参考下
    2023-04-04
  • TensorBoard 计算图的查看方式

    TensorBoard 计算图的查看方式

    今天小编就为大家分享一篇TensorBoard 计算图的查看方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Redis持久化机制实现原理和流程

    Redis持久化机制实现原理和流程

    这篇文章主要介绍了Redis持久化机制实现原理和流程,持久化就是把内存中的数据存放到磁盘中,防止宕机后内存数据丢失,需要的朋友可以参考下
    2023-04-04
  • python retrying模块的使用方法详解

    python retrying模块的使用方法详解

    这篇文章主要介绍了python retrying模块的使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Python中for循环控制语句用法实例

    Python中for循环控制语句用法实例

    这篇文章主要介绍了Python中for循环控制语句用法,较为详细的分析了for循环语句的原理与相关使用技巧,需要的朋友可以参考下
    2015-06-06
  • python实现目录树生成示例

    python实现目录树生成示例

    这篇文章主要介绍了python实现目录树生成示例,需要的朋友可以参考下
    2014-03-03
  • [项目布局配置]Nosql与PythonWeb-Flask框架组合

    [项目布局配置]Nosql与PythonWeb-Flask框架组合

    本文主要描述了怎样使用轻量级NoSQL数据库与PythonWeb-Flask框架组合来进行项目布局及应用配置,需要的同学可以参考下,希望可以对大家有所进益
    2021-08-08
  • Python读取xlsx数据生成图标代码实例

    Python读取xlsx数据生成图标代码实例

    这篇文章主要介绍了Python读取xlsx数据生成图标代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • python opencv鼠标交互操作的实用指南

    python opencv鼠标交互操作的实用指南

    最近的工作经常需要对图像进行操作,也需要用鼠标对图像进行各种操作,所以下面这篇文章主要给大家介绍了关于python opencv鼠标交互操作的相关资料,需要的朋友可以参考下
    2021-10-10
  • Python opencv实现人眼/人脸识别以及实时打码处理

    Python opencv实现人眼/人脸识别以及实时打码处理

    这篇文章主要为大家详细介绍了Python opencv实现人眼、人脸识别,以及实时打码处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04

最新评论