python-paramiko实现scp上传下载

python-paramiko实现scp上传下载

1. python-paramiko实现scp上传下载

  • Python3的paramiko同时也支持类scp的功能

    • paramiko的SFTPClient可实现文件的上传、下载
    • 编写部署系统的时候可以用来传包传脚本等
  • 案例:paramiko基于密钥实现文件上传

    • 编写paramiko基于密钥实现文件上传

      #!/usr/bin/env python
      # _*_ coding: utf-8 _*_
      # Author:shichao
      # File: .py
      
      
      import paramiko
      import os
      
      # 远程连接 ip和端口
      transport = paramiko.Transport( '192.168.0.200', 22 )
      
      # 连接私钥
      pkey = paramiko.RSAKey.from_private_key_file( '/Users/admin/.ssh/id_rsa' )
      
      # 连接用户和密码
      transport.connect( username = 'root', pkey = pkey )
      
      # 文件工具
      sftp = paramiko.SFTPClient.from_transport(transport)
      
      # 上传文件,第一个位置是要上传的目录地址, 第二位置是要传输到服务器地址
      sftp.put('/tmp/hello.sh', '/tmp/hello.sh')
      
      
      sftp.close()
      transport.close()
      
      
      #  验证这个文件是否存在了
      result = os.system("sh /tmp/hello.sh")
      
      print(result)
    • 执行结果

      hello world
      0
  • 案例:paramiko基于密钥实现文件下载

    • 编写paramiko基于密钥实现文件下载

      #!/usr/bin/env python
      # _*_ coding: utf-8 _*_
      # Author:shichao
      # File: .py
      
      
      import paramiko
      import os
      
      # 远程连接 ip和端口
      transport = paramiko.Transport( '192.168.0.200', 22 )
      
      # 连接私钥
      pkey = paramiko.RSAKey.from_private_key_file( '/Users/admin/.ssh/id_rsa' )
      
      # 连接用户和密码
      transport.connect( username = 'root', pkey = pkey )
      
      # 文件工具
      sftp = paramiko.SFTPClient.from_transport(transport)
      
      # 上传文件,  第一个位置是服务器源地址,第二位置是要下载机器目标位置
      sftp.get('/scripts/gethello.sh', '/tmp/gethello.sh')
      
      
      sftp.close()
      transport.close()
      
      
      #  验证这个文件是否存在了
      result = os.system("sh /tmp/hello.sh")
      
      print(result)
    • 执行结果

      hello world
      0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值