:Python自动化管理
Posted allenhu320
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了:Python自动化管理相关的知识,希望对你有一定的参考价值。
1.使用SSH协议访问远程服务器
SSH协议
OpenSSH协议
使用密钥登陆远程服务器
使用ssh-agent管理私钥
2.使用Polysh批量管理服务器
Polysh requires python 3.4 or later. pip install polysh # cat hosts 192.168.1.121 192.168.1.122 # polysh --ssh=‘exec ssh -p 22‘ --user=root --hosts-file=hosts waiting (2/2)> cd / 192.168.1.122 : cd / 192.168.1.121 : cd /
3.SSH协议的Python实现paramiko
1).paramiko的安装
pip install paramiko
2).SSHClient类与SFTPClient类
paramiko包含两个核心组件:SSHClient和SFTPClient
3).paramiko的基本使用
import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(‘192.168.1.202‘,22,‘root‘,‘123456‘) stdin,stdout,stderr = ssh.exec_command(‘ip a‘) print stdout.read() ssh.close()
4).使用paramiko部署监控程序
import paramiko def deploy_monitor(ip): with paramiko.SSHClient() as client: client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect(ip,22,‘root‘,‘123456‘) stdin,stdout,stderr = client.exec_command(‘ls -lh /‘) print(stdout.readlines()) with client.open_sftp() as sftp: sftp.put(‘monitor.py‘,‘/monitor.py‘) sftp.chmod(‘/monitor.py‘, 0o755) def main(): with open(‘/py/hosts‘) as f: for line in f: deploy_monitor(line.strip()) if __name__ == ‘__main__‘: main()
4.自动化部署工具Fabric
Fabric是基于Python2(2.5~2.7)的一个Python库,也是一个命令行工具
使用Fabric提供的命令行工具调用程序,能够非常方便地执行应用部署和系统管理操作
Fabric依赖paramiko进行SSH交互,Fabric作者也是paramiko作者
以上是关于:Python自动化管理的主要内容,如果未能解决你的问题,请参考以下文章
python自动化管理sshy(ssh,ssh-copy-id,ssh-agent)