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

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

相关文章

Django渲染Markdown文章目录的方法示例

Django渲染Markdown文章目录的方法示例

对会读书的人来说,读一本书要做的第一件事,就是仔细阅读这本书的目录。阅读目录可以对整体内容有所了解,并清楚地知道感兴趣的部分在哪里,提高阅读质量。 博文也是同样的,好的目录对博主和读者都...

详解python校验SQL脚本命名规则

详解python校验SQL脚本命名规则

需求背景 检查脚本文件中SQL语句是否按规范编写,规则如下: 创建表时,表名称需以"t_"开头且均为小写 增加和创建列时,列名称均为小写字母和_组成 创建函数,函数名称需以...

python3实现随机数

python3实现随机数

Python3实现随机数,供大家参考,具体内容如下 random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串。 random.seed(x)改变随机数生成器的种子seed...

pytorch实现onehot编码转为普通label标签

label转onehot的很多,但是onehot转label的有点难找,所以就只能自己实现以下,用的topk函数,不知道有没有更好的实现 one_hot = torch.tensor...

python django使用haystack:全文检索的框架(实例讲解)

python django使用haystack:全文检索的框架(实例讲解)

haystack:全文检索的框架 whoosh:纯Python编写的全文搜索引擎 jieba:一款免费的中文分词包 首先安装这三个包 pip install django-haystac...