python使用Paramiko模块实现远程文件拷贝

yipeiwu_com6年前Python基础

paramiko是用python写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输以及远程命令执行。

通过安装包安装:

wget http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.tar.gz
wget http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz

tar -zxvf pycrypto-2.6.tar.gz
cd pycrypto-2.6/
python setup.py build && python setup.py install


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

yum安装,简单省事:

yum install python-paramiko -y

简单使用:从远程服务器拷贝文件:

#coding=utf-8
import paramiko, os
def remote_scp(type, host_ip, remote_path, local_path, username, password):
 ssh_port = 22
 try:
  conn = paramiko.Transport((host_ip, ssh_port))
  conn.connect(username=username, password=password)
  sftp = paramiko.SFTPClient.from_transport(conn)
  if type == 'remoteRead':
   if not local_path:
    fileName = os.path.split(remote_path)
    local_path = os.path.join('/tmp', fileName[1])
   sftp.get(remote_path, local_path)

  if type == "remoteWrite":
   sftp.put(local_path, remote_path)

  conn.close()
  return True

 except Exception:
  return False

通过传递操作类型,主机ip,远程路径和本地路径,用户名密码即可实现文件的远程拷贝。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python异步编程 使用yield from过程解析

前言 yield from 是 Python3.3 后新加的语言结构。yield from的主要功能是打开双向通道,把最外层的调用方法与最内层的子生成器连接起来。这两者就可以进行发送值和...

Python分布式进程中你会遇到的问题解析

Python分布式进程中你会遇到的问题解析

小惊大怪 你是不是在用Python3或者在windows系统上编程?最重要的是你对进程和线程不是很清楚?那么恭喜你,在python分布式进程中,会有坑等着你去挖。。。(h...

说一说Python logging

说一说Python logging

最近有个需求是把以前字符串输出的log 改为json 格式,看了别人的例子,还是有些比较茫然,索性就把logging 整个翻了一边,做点小总结. 初看log 在程序中, log 的用处写...

Python内置数据类型list各方法的性能测试过程解析

Python内置数据类型list各方法的性能测试过程解析

这篇文章主要介绍了Python内置数据类型list各方法的性能测试过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 测试环境...

Laravel框架表单验证格式化输出的方法

Laravel框架表单验证格式化输出的方法

最近在公司的项目开发中使用到了 laravel 框架,采用的是前后端开发的模式。接触过前后端开发模式的小伙伴应该都知道,后端返回的数据格式需要尽可能搞得保证一致性,这样前端在处理时也方...