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

匿名 (未验证) 提交于 2019-12-02 22:54:36

一、背景

如果我们想要远程拷贝服务器上面的文件,或者对远程服务器进行相关操作的话,使用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

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!