标签:
目前主要有两种类型的批量工具:
1基于ssl的
func :需要agent 命令加密
2基于ssh的
ansible:不需要agent 密令不加密 sever端需要保存客户端账户密码 或者秘钥
当然func是极其安全的 但是也过于重量级和繁琐 目前流行的都是 基于ssh的 工具
我们在做OS config 这一层次的操作 simple is good
安全问题 我们可以通过碉堡机 这种架构方式完成
上面就是整个的流程
当然如果要做的能用 需要把用户跟主机的信息存在数据库里面 通过主机组的方式管理
部分代码
1 __author__ = ‘Administrator‘ 2 import multiprocessing 3 import sys 4 import paramiko_handle 5 def Cmdstart(data,cmd): 6 try: 7 pool = multiprocessing.Pool(processes=5) 8 res = [] 9 for hos in data:# Start the process 10 p = pool.apply_async(paramiko_handle.paramiko_ssh,args=(hos,cmd)) 11 res.append(p) 12 return res 13 except EOFError: 14 print ‘ERROR:Startup failed ‘ 15 sys.exit()
1 __author__ = ‘Administrator‘ 2 3 import paramiko 4 def paramiko_ssh(hostdata,cmd): 5 ssh = paramiko.SSHClient() 6 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 7 ssh.connect(hostdata[0],int(hostdata[1]),hostdata[2],hostdata[3]) 8 stdin,stdout,stderr = ssh.exec_command(cmd) 9 msg = [] 10 if stderr: 11 msg = stdout.read() 12 else: 13 msg = stderr.read() 14 ssh.close() 15 return msg
标签:
原文地址:http://www.cnblogs.com/nerdlerss/p/5844292.html