首页 / 操作系统 / Linux / 在Windows和Linux上安装paramiko模块
一、paramiko模块有什么用?paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,比如:批量执行命令,批量上传文件等操作,paramiko是最佳工具之一。
目前新的版本,官网在此:
https://github.com/paramiko/paramiko
旧版本在此:
http://www.lag.net/paramiko/legacy.html要安装新版本paramiko模块需要做以下准备:1.Python2.5+ 版本(Linux, Unix, Windows都可以),这里就直接安装Python2.7
下载地址:http://www.python.org2.PyCrypto 2.1+ 模块(PyCrypto是使用Python编写的加密工具包)
下载地址:https://www.dlitz.net/software/pycrypto/3.easy_install 工具(是Python安装模块的一个工具,像yum,可以自动解决依赖)
下载地址: http://peak.telecommunity.com/dist/ez_setup.py如果大家感觉安装paramiko还是略有麻烦的话,当使用到paramiko提供的方便时便会觉得这是十分值得的。相关阅读:RHEL6下安装Python相关的paramiko http://www.linuxidc.com/Linux/2012-07/65353.htmPython模块paramiko的上传下载和远程执行命令方法 http://www.linuxidc.com/Linux/2012-11/74078.htmpython paramiko模块中设置执行命令超时值 http://www.linuxidc.com/Linux/2013-05/85185.htm二、Linux上安装paramiko(以CentOS 5.8 32位 为例)1.查看Python的版本,是否满足要求[root@server1 ~]# python -V
Python 2.4.3
[root@server1 ~]#Windows上亦是此命令,注意是大写V
是2.4.3版本,需要升级2.下载安装python2.7源码安装Python2.7
如果没有gcc没有安装,请先安装好gcc
root@server2 ~]# wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2
[root@server2 ~]# tar jxf Python-2.7.5.tar.bz2
[root@server2 ~]# cd Python-2.7.5
[root@server2 Python-2.7.5]# ./configure --prefix=/usr/local/python2.7
[root@server2 Python-2.7.5]# make && make install
[root@server2 Python-2.7.5]# echo "PATH=/usr/local/python2.7/bin:$PATH" >> /etc/profile
[root@server2 Python-2.7.5]# source /etc/profile
[root@server2 Python-2.7.5]# python -V
Python 2.7.5
[root@server2 Python-2.7.5]# 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.
>>>至此Python2.7 安装成功3.安装easy_install 工具下载该脚本
[root@server2 ~]# wget http://peak.telecommunity.com/dist/ez_setup.py
[root@server2 ~]# python ez_setup.py只需要执行以上命令,即可安装好easy_install 工具4.安装paramiko模块使用以下命令,即可安装好paramiko模块
1 [root@server2 ~]# easy_install paramiko进入Python导入paramiko一下试试
[root@server2 ~]# 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
/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.
>>>导入模块时,如果遇到以上问题,可能是由于gmp版本比较低造成的,gmp是啥,看官网的解释:
GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers.
看样子是跟精度有关系
可以用以下方法解决:
先卸载低版本
root@server2 ~]# rpm -qa | grep gmp
gmp-devel-4.1.4-10.el5
gmp-4.1.4-10.el5
[root@server2 ~]# rpm -e gmp-devel-4.1.4-10.el5.i386
[root@server2 ~]# rpm -e gcc-gfortran-4.1.2-52.el5.i386
[root@server2 ~]# rpm -e gmp-4.1.4-10.el5
[root@server2 ~]# ldconfig
[root@server2 ~]#然后安装高版本的gmp[root@server2 ~]# wget http://ftp.gnu.org/gnu/gmp/gmp-5.1.2.tar.bz2
[root@server2 ~]# tar jxf gmp-5.1.2.tar.bz2
[root@server2 ~]# cd gmp-5.1.2
[root@server2 gmp-5.1.2]# ./configure && make && make install
[root@server2 gmp-5.1.2]# echo "/usr/local/lib" >> /etc/ld.so.conf
[root@server2 gmp-5.1.2]# ldconfig再次尝试导入paramiko模块:[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上安装完成Windows7 32上安装paramiko模块 方法见 http://www.linuxidc.com/Linux/2013-08/88982p2.htm