Python Paramiko模块安装和使用

1、简介

  大家会发现,常见的解决方法都会需要对远程服务器必要的配置,如果远程服务器只有一两台还好说,如果有N台,还需要逐台进行配置,或者需要使用代码进行以上操作时,上面的办法就不太方便了。

  使用paramiko可以很好的解决以上问题,比起前面的方法,它仅需要在本地上安装相应的软件(python以及PyCrypto),对远程服务器没有配置要求,对于连接多台服务器,进行复杂的连接操作特别有帮助。

2、安装

  安装paramiko有两个先决条件,python和另外一个名为PyCrypto的模块。

  通常安装标准的python模块,只需要在模块的根目录下运行:

python setup.py build

python setup.py install

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

Python Paramiko模块安装和使用

时间: 2025-01-18 16:47:12

Python Paramiko模块安装和使用的相关文章

python paramiko模块简介

一:简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一. 举个常见的例子,现有这样的需求:需要使用windows客户端,远程连接到L

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模块,发现这个模块十分难搞 安装不上 搞了半天,win10 64下 pytyon 3.6 的 paramiko模块 死活安不上,在网上不断的找资料,可是没有用,没有用啊 无法,用虚拟机搞个centos7,安装,失败,再安装,再失败,上网找资料,终搞定,分享一下经验,免得大家再踩坑. 环境 centos 7 ,自带python 2.7,不用管它 安装新python3 第一步:下载python3.5安装包: wget --no-check-certificate htt

python - paramiko的安装与使用

一:简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一. 举个常见的例子,现有这样的需求:需要使用windows客户端,远程连接到L

python paramiko模块幸运飞艇平台搭建实现跨平台SSH

需求:在幸运飞艇平台搭建论坛:haozbbs.com Q1446595067 管理用户端(实际上所有支持Python的OS都可以)批量对远程服务器进行部署.命令执行.文件传输.搭建测试环境等. 一般的,我们用Putty,Xshell,Winscp都可以实现SSH登录,但是如果出现N台服务器,我们按照原来的方法,需要逐个登录配置,这会花费一定的时间.实际上,Python的paramiko模块就可以实现这种操作.其原理就是模拟SSH客户端,与SSH服务端进行交互,实现登录与命令的实时传输.Param

Python paramiko模块(实现ssh)

开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作 安装paramiko模块 pip3 install paramiko 基于用户密码方式 import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.con

python paramiko模块

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

python机器学习模块安装

环境:RHEL6.5 离线安装 说明:在安装dlib时依赖的基础 环境较多,先升级gcc,以适应c++ 11的使用:需要用到cmake编译工具,boost这个c++库,BLAS.python升级到2.7以上版本. ############################################################################ 一,本地yum源搭建 1)挂载系统镜像文件 : mkdir /media/cdrom  #新建镜像文件挂载目录 cd   #进入系统

Python paramiko 模块

paramiko模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname='host', port=po