背景:
在公司连服务器一般要么是密码认证要么是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. 当前只是为了满足方便使用,有很多地方可以调和纠错,指正。
原文链接:https://www.f2er.com/ssh/421295.html