learning python paramiko -->one

1.1简介:

paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。

由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是 最佳工具之一。

1.2安装:

安装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、使用

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

时间: 2024-08-09 10:42:32

learning python paramiko -->one的相关文章

Python学习手册《Learning Python》

Python有一个交互式的开发环境,因为Python 是解释运行,大大节省了每次编译的时间 本书是两卷本的合集中的第一本,主要关注核心是Python语言本身,而不是其特定的 语言程序. learning Python,也就是本书,介绍Python本身: Progamming Python,另外一本书,介绍学完P可以干什么.Web,GUI(图形用户界面),数据库.... .

python paramiko模拟ssh登录

Python Paramiko模块的安装与使用详解 http://www.111cn.net/phper/python/67973.htm 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

Python Paramiko模块安装和使用

1.简介 大家会发现,常见的解决方法都会需要对远程服务器必要的配置,如果远程服务器只有一两台还好说,如果有N台,还需要逐台进行配置,或者需要使用代码进行以上操作时,上面的办法就不太方便了. 使用paramiko可以很好的解决以上问题,比起前面的方法,它仅需要在本地上安装相应的软件(python以及PyCrypto),对远程服务器没有配置要求,对于连接多台服务器,进行复杂的连接操作特别有帮助. 2.安装 安装paramiko有两个先决条件,python和另外一个名为PyCrypto的模块. 通常安

python+paramiko库+svn写的自动化部署脚本

第一篇博文 直接开门见山的说了. 这是件什么事?:每次部署都是复制本地的文件粘贴到服务器端,因为路径复杂,所以费时且手工容易出漏洞. 一直在想有什么办法可以解决这种,因为以前在微软的一个牛人同事做过一个脚本实现自动化部署,正巧最近在学习python,就用python写一个自动化得脚本吧. 1.首先是环境:SVN的版本控制,windows的本地,linux服务器. 2.思路:应用python,代入cmd脚本,加上强大的python库来做这件事. 3.再详细的思路: 第一步:利用SVN的cmd下得脚

python paramiko 多线程

Python paramiko多线程执行命令的脚本,加入了threading多线程,执行起来感觉效率很一般,有时候线程还会等待延迟. 据说别人测试的数据,Python多线程中每个时刻只有1个线程运行,每个逻辑CPU利用率都很低,只是有时候换换CPU运行.虽然不知道别人怎么观察的,不过执行起来确实慢,耗资源也比单线程高很多. #!/usr/bin/python # -*- coding: utf-8 -*- import paramiko,threading,sys class SSH_cmd(t

python paramiko模块sftp异常:paramiko.ssh_exception.SSHException: EOF during negotiation

python paramiko模块ftp报错: Traceback (most recent call last):File "<stdin>", line 1, in <module>File "/usr/lib/python2.7/dist-packages/paramiko/sftp_client.py", line 170, in from_transportreturn cls(chan)File "/usr/lib/py

python paramiko使用

paramiko 安装 yum install python-paramiko -y yum install openssh-server openssh-clients -y 报错 Traceback (most recent call last):   File "ssh.py", line 10, in <module>     ssh.connect(hostname=hostname,port=port,username=username,password=pas

python paramiko模块的使

一般使用paramiko的功能就是通过ssh远程执行命令,远程(上传.下载)传输文件等等 依赖包:/usr/local/python27/bin/pip install pycrypto 下载包 paramiko #wget http://en.onlinedown.net/down/paramiko-1.7.7.1.zip #unzip paramiko-1.7.7.1.zip #cd paramiko-1.7.7.1 #python setup.py build #python setup.

python paramiko模块

paramiko模块是python中很重要的模块,他的功能呢主要分为两大块功能.一个是模拟SSH功能登录到远程主机上执行命令.一个是模拟SFTP功能传输文件. paramiko支持密码登陆方式和免密码的私钥登录方式. 密码登陆方式代码如下: #!/usr/bin/env python # coding:utf-8 import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 访问未知主机时候的策略,允许连接不在know_hosts文件中的主机 ss