博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux上安装paramiko模块以及easy_install的安装方法
阅读量:4172 次
发布时间:2019-05-26

本文共 5567 字,大约阅读时间需要 18 分钟。

一、paramiko模块有什么用?

paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,比如:批量执行命令,批量上传文件等操作,paramiko是最佳工具之一。

目前新的版本,官网在此:

旧版本在此:


要安装新版本paramiko模块需要做以下准备:

 

1.Python2.5+ 版本(Linux, Unix, Windows都可以),这里就直接安装Python2.7
    下载地址:

 

2.PyCrypto 2.1+ 模块(PyCrypto是使用Python编写的加密工具包)
    下载地址:

 

3.easy_install 工具(是Python安装模块的一个工具,像yum,可以自动解决依赖

    下载地址: 

 

如果大家感觉安装paramiko还是略有麻烦的话,当使用到paramiko提供的方便时便会觉得这是十分值得的。

二、Linux上安装paramiko(以CentOS 5.8 32位 为例)

1.查看Python的版本,是否满足要求

1 [root@server1 ~]# python -V2 Python 2.4.33 [root@server1 ~]#

Windows上亦是此命令,注意是大写V

是2.4.3版本,需要升级

2.下载安装python2.7

1 [root@server2 ~]# wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2 2 [root@server2 ~]# tar jxf Python-2.7.5.tar.bz2 3 [root@server2 ~]# cd Python-2.7.5 4 [root@server2 Python-2.7.5]# ./configure --prefix=/usr/local/python2.7 5 [root@server2 Python-2.7.5]# make && make install 6 [root@server2 Python-2.7.5]# echo "PATH=/usr/local/python2.7/bin:$PATH" >> /etc/profile 7 [root@server2 Python-2.7.5]# source /etc/profile 8 [root@server2 Python-2.7.5]# python -V 9 Python 2.7.510 [root@server2 Python-2.7.5]# python11 Python 2.7.5 (default, Aug 16 2013, 07:56:41)12 [GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux213 Type "help", "copyright", "credits" or "license" for more information.14 >>>

3.安装easy_install 工具

1 [root@server2 ~]# wget http://peak.telecommunity.com/dist/ez_setup.py 2 [root@server2 ~]# python ez_setup.py 3 Downloading http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg 4 Processing setuptools-0.6c11-py2.7.egg 5 Copying setuptools-0.6c11-py2.7.egg to /usr/local/python2.7/lib/python2.7/site-packages 6 Adding setuptools 0.6c11 to easy-install.pth file 7 Installing easy_install script to /usr/local/python2.7/bin 8 Installing easy_install-2.7 script to /usr/local/python2.7/bin 9 Installed /usr/local/python2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg10 Processing dependencies for setuptools==0.6c1111 Finished processing dependencies for setuptools==0.6c11

只需要执行以上命令,即可安装好easy_install 工具

4.安装paramiko模块

使用以下命令,即可安装好paramiko模块

1 [root@server2 ~]# easy_install paramiko

进入Python导入paramiko一下试试

1 [root@server2 ~]# python2 Python 2.7.5 (default, Aug 16 2013, 07:56:41)3 [GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux24 Type "help", "copyright", "credits" or "license" for more information.5 >>> import paramiko6 /usr/local/python2.7/lib/python2.7/site-packages/pycrypto-2.6-py2.7-linux-i686.egg/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.7 >>>

导入模块时,如果遇到以上问题,可能是由于gmp版本比较低造成的,gmp是啥,看官网的解释:
GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers.
看样子是跟精度有关系

可以用以下方法解决:
先卸载低版本

1 root@server2 ~]# rpm -qa | grep gmp2 gmp-devel-4.1.4-10.el53 gmp-4.1.4-10.el54 [root@server2 ~]# rpm -e gmp-devel-4.1.4-10.el5.i3865 [root@server2 ~]# rpm -e gcc-gfortran-4.1.2-52.el5.i3866 [root@server2 ~]# rpm -e gmp-4.1.4-10.el57 [root@server2 ~]# ldconfig8 [root@server2 ~]#

然后安装高版本的gmp

1 [root@server2 ~]# wget http://ftp.gnu.org/gnu/gmp/gmp-5.1.2.tar.bz22 [root@server2 ~]# tar jxf gmp-5.1.2.tar.bz23 [root@server2 ~]# cd gmp-5.1.24 [root@server2 gmp-5.1.2]# ./configure && make && make install5 [root@server2 gmp-5.1.2]# echo "/usr/local/lib" >> /etc/ld.so.conf6 [root@server2 gmp-5.1.2]# ldconfig

再次尝试导入paramiko模块:

1
2
3
4
5
6
7
8
[root@server2 gmp-5.1.2]# python
Python 2.7.5 (
default
, Aug 16 2013, 07:56:41)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] 
on 
linux2
Type 
"help"
"copyright"
"credits" 
or 
"license" 
for 
more information.
>>> import paramiko
>>> dir(paramiko)
[
'AUTH_FAILED'
'AUTH_PARTIALLY_SUCCESSFUL'
'AUTH_SUCCESSFUL'
'Agent'
'AgentKey'
'AuthHandler'
'AuthenticationException'
'AutoAddPolicy'
'BadAuthenticationType'
'BadHostKeyException'
'BaseSFTP'
'BufferedFile'
'Channel'
'ChannelException'
'ChannelFile'
'DSSKey'
'HostKeys'
'InteractiveQuery'
'Message'
'MissingHostKeyPolicy'
'OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED'
'OPEN_FAILED_CONNECT_FAILED'
'OPEN_FAILED_RESOURCE_SHORTAGE'
'OPEN_FAILED_UNKNOWN_CHANNEL_TYPE'
'OPEN_SUCCEEDED'
'PKey'
'Packetizer'
'PasswordRequiredException'
'ProxyCommand'
'ProxyCommandFailure'
'RSAKey'
'RejectPolicy'
'SFTP'
'SFTPAttributes'
'SFTPClient'
'SFTPError'
'SFTPFile'
'SFTPHandle'
'SFTPServer'
'SFTPServerInterface'
'SFTP_BAD_MESSAGE'
'SFTP_CONNECTION_LOST'
'SFTP_EOF'
'SFTP_FAILURE'
'SFTP_NO_CONNECTION'
'SFTP_NO_SUCH_FILE'
'SFTP_OK'
'SFTP_OP_UNSUPPORTED'
'SFTP_PERMISSION_DENIED'
'SSHClient'
'SSHConfig'
'SSHException'
'SecurityOptions'
'ServerInterface'
'SubsystemHandler'
'Transport'
'WarningPolicy'
'__all__'
'__author__'
'__builtins__'
'__doc__'
'__file__'
'__license__'
'__loader__'
'__name__'
'__package__'
'__path__'
'__version__'
'agent'
'auth_handler'
'ber'
'buffered_pipe'
'channel'
'client'
'common'
'compress'
'config'
'dsskey'
'file'
'hostkeys'
'io_sleep'
'kex_gex'
'kex_group1'
'message'
'packet'
'pipe'
'pkey'
'primes'
'proxy'
'resource'
'rsakey'
'server'
'sftp'
'sftp_attr'
'sftp_client'
'sftp_file'
'sftp_handle'
'sftp_server'
'sftp_si'
'ssh_exception'
'sys'
'transport'
'util'
]
>>>

  一切正常,至此paramiko模块在Linux上安装完成

原文链接:

安装过程中可能遇到的问题以及解决方法,请参考:

1》

2》

3》

4》

转载地址:http://qvyai.baihongyu.com/

你可能感兴趣的文章
PostgreSQL数据库管理 第八章日常运维
查看>>
PostgreSQL数据库管理第十章Repmgr
查看>>
Linux shell正则表达式-sed-awk-grep应用
查看>>
linux系统管理—第五章Linux-bashshell
查看>>
PostgreSQL数据库管理 第二章体系结构
查看>>
PostgreSQL数据库管理 第三章实例管理与管理工具
查看>>
PostgreSQL数据库管理第七章流复制
查看>>
PostgreSQL数据库管理第十章Repmgr
查看>>
PostgreSQL数据库管理 第八章日常运维
查看>>
MySQL数据库管理-体系结构
查看>>
软考UML
查看>>
信息系统的生命周期各阶段及说明
查看>>
Ubuntulinux离线安装ClamTk杀毒软件步骤和使用方法
查看>>
摆脱贫穷2021V1
查看>>
Android.Could not find *.apk
查看>>
JNI
查看>>
Android基于TranslateAnimation的动画动态菜单
查看>>
android NDK中的GCC编译器
查看>>
Android NOtification 使用
查看>>
Android的SharedPreferences保存与删除数据简单实例
查看>>