服务器之家

服务器之家 > 正文

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

时间:2021-06-22 00:12     来源/作者:Lockeyi

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

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部