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设计】。

相关文章

pytorch 修改预训练model实例

我就废话不多说了,直接上代码吧! class Net(nn.Module): def __init__(self , model): super(Net, self)._...

python实现下载整个ftp目录的方法

前言 最近因为业务需求,就写了这个脚本,脚本完成的任务是从FTP上下载一个目录,大家都知道从FTP上下载一个文件可用用get命令,下载多个文件可以用mget,但你要下载一个目录,对不起,...

Python 点击指定位置验证码破解的实现代码

思路: 创建浏览器驱动对象 加载登录页面 等待页面加载完毕 切换到用户名和密码登录模式 输入手机号, 注意此处需要等待并获取输入框 输入密码 点击验证按钮 获取弹出验证图...

python 整数越界问题详解

python 内部自带大整数运算能力,整数运算不会溢出,只要内存足够,就oK 下面的例子演示了两个32位整数加法的情况(通过位运算实现),为了模拟溢出的效果,必须人工的进行位运算,~运算...

浅析Python与Mongodb数据库之间的操作方法

MongoDB 是目前最流行的 NoSQL 数据库之一,使用的数据类型 BSON(类似 JSON)。 1. 安装Mongodb和pymongo Mongodb的安装和配置 Mongodb...