当前位置:脚本大全 > > 正文

python模块化打包(python使用Paramiko模块实现远程文件拷贝)

时间:2021-10-11 00:34:26类别:脚本大全

python模块化打包

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

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

通过安装包安装:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 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安装,简单省事:

  • ?
  • 1
  • yum install python-paramiko -y
  • 简单使用:从远程服务器拷贝文件:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • #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,远程路径和本地路径,用户名密码即可实现文件的远程拷贝。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。

    原文链接:https://blog.csdn.net/Lockey23/article/details/78867787

    上一篇下一篇

    猜您喜欢

    热门推荐