加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

python ssh 公钥私钥 密码认证 sftp 服务器文件下载上传

发布时间:2020-12-14 16:01:45 所属栏目:百科 来源:网络整理
导读:背景: 在公司连服务器一般要么是密码认证要么是publick key认证,或者认证之前还要连vpn啥的,连上服务器一般运维都不会给开发人员root权限,我平常使用的是SecureCRT,经常有下载文件的需求,每次都需要打开session,然后右键连接sftp,如果一两台服务器还

背景:

在公司连服务器一般要么是密码认证要么是publick key认证,或者认证之前还要连vpn啥的,连上服务器一般运维都不会给开发人员root权限,我平常使用的是SecureCRT,经常有下载文件的需求,每次都需要打开session,然后右键连接sftp,如果一两台服务器还好,可每次都是十几二十台的服务器,每台都需要连sftp下载文件,所以写了个简单的脚本:
1. 可密码、公私钥认证,实现sftp文件上传下载
2. 脚本见:https://github.com/kute/purepythontest/blob/master/test/netease/scripts/sftp_downloader.py
3. 使用:
   a. 显示命令行帮助:python sftp_downloader.py -h
   b. 运行:python sftp_downloader.py -u zhangsan -p password -pk my-openssh-private-key -sf my-server-list-file-path -srcf the-file-name-to-be-download -dd the-file-dir-to-save --vote
   c. 可把 b中的命名设置成alias,使用就简单了
4. 脚本说明:
   a. argparse模块 使用接收命令行参数,然后分别设置 --vote  --tie --follow来区分要下载不同类型的服务器日志与传不同的日志路径
   b. easylog模块,自己封装的日志模块
   c. gevent,对文件中的多个服务器地址使用协程 来加快下载
   d. paramiko模块,核心使用,ssh连接认证
   e. 只封装了下载,上传、执行服务器命令等可以自己再扩展
   d. 当前只是为了满足方便使用,有很多地方可以调和纠错,指正。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读