Python3学习(十九):python Paramiko模块的离线安装与使用详解

一、背景

如果我们想要远程拷贝服务器上面的文件,或者对远程服务器进行相关操作的话,使用paramiko可以很好的解决以上问题。它仅需要在本地上安装相应的软件(python、PyCrypto、ecdsa),对远程服务器没有配置要求,对于连接多台服务器,进行复杂的连接操作特别有帮助。下面本文就来详细的介绍Python Paramiko模块的安装与使用,一起学习学习吧。

 

二、安装

安装paramiko主要需要安装3个模块,分别是:ecdsa、paramiko、pycrypto。

python3.6的环境下,经过调试成功之后的模块版本为:ecdsa 0.13;paramiko 1.18.4;pycrypto-2.6.1.tar.gz。

他们离线安装的地址如下:

ecdsa-0.13.tar.gz:

https://files.pythonhosted.org/packages/f9/e5/99ebb176e47f150ac115ffeda5fedb6a3dbb3c00c74a59fd84ddf12f5857/ecdsa-0.13.tar.gz

pycrypto-2.6.1.tar.gz:

https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.1.tar.gz

paramiko-1.18.4.zip:

https://codeload.github.com/paramiko/paramiko/zip/1.18.4

解压后分别进入目录,执行python setup.py  build; python setuo.py install

(PS:按顺序安装,先ecdsa、再pycrypto、最后paramiko)

 

三、使用

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)