sshpass做秘钥分发,ansible做自动化运维工具
最近公司机器的增多,顺便还要上报表系统,考虑到服务器越来越多,手工的管理显得越来的越吃力,所以打算推进公司自动化运维工具的使用。
推进的过程中,一步一个坑踩过来的。由于公司之前未运用过自动化运维工具,所以经验很少。
首先安装ansible:
第一步:设置epel仓库:
rpm -iUvh http://dl.Fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
第二步,使用yum安装ansible,顺便检查下ansible版本:
yum -y install ansible
ansible -- version
第三步,准备秘钥的分发:
ssh-keygen #获取所登录用户的秘钥
ssh-copy-id -i .ssh/id_rsa.pub root@10.251.26.81 #分发哪个用户的秘钥就用哪个用户
但是由于我们主机数量的居多,一台台的去分发秘钥太过繁琐和劳累,所以在百度了一些东西之后我决定利用sshpass来做秘钥分发:
sshpass做秘钥分发:
#/bin/bash
password=1qaz@WSX
IP_ADDR='10.251.26.81' #. /etc/init.d/functions
#if ! [ -f ~/.ssh/id_dsa.pub ];then
# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa >/dev/null >&
# echo -e "\033[32m======Local=========\033[0m"
# action "Generate the key!" /bin/true
#fi for i in $IP_ADDR;do
# sshpass -p $passwd ssh-copy-id -i /home/shadm1/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no ${i}" >/dev/null >&
sshpass -p "1qaz@WSX" ssh-copy-id -i .ssh/id_rsa.pub "-o StrictHostKeyChecking=no shadm1@${i}" >/dev/null @>&1 #版本不同的情况下,有时候这块"-o StrictHostKeyChecking=no shadm1@${i}" 不用加双引号
if [ $? == ];then
echo -e "\033[32m=========`ssh $i hostname`==========\033[0m"
action "send successful" /bin/true
else
echo -e "\033[31m======$i=======\033[0m"
action "send failed" /bin/false
fi
done
利用一个简单的脚本来做秘钥分发
完成后,测试执行ansible:
ansible test -m command -a 'hostname' -u shadm1 -U useradmin --ask-sudo-pass
可以正常执行,成功!
QQ:531197592,有问题请指正
sshpass做秘钥分发,ansible做自动化运维工具的更多相关文章
- 企业级自动化运维工具应用实战-ansible
背景 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测试,运 ...
- 项目实战10.1—企业级自动化运维工具应用实战-ansible
实战环境: 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测 ...
- 企业级自动化运维工具应用实战ansible
公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测试,运维老大 ...
- 自动化运维工具-Ansible之1-基础
自动化运维工具-Ansible之1-基础 目录 自动化运维工具-Ansible之1-基础 Ansible 基本概述 定义 特点 架构 工作原理 任务执行模式 命令执行过程 Ansible 安装 Ans ...
- Linux实战教学笔记25:自动化运维工具之ansible (一)
第二十五节 ansible之文件的批量分发 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转 ...
- Ansible自动化运维工具
ansible软件介绍 python语言是运维人员必会的语言! ansible是一个基于Python开发的自动化运维工具!(saltstack) 其功能实现基于SSH远程连接服务! ans ...
- 自动化运维工具-Ansible之2-ad-hoc
自动化运维工具-Ansible之2-ad-hoc 目录 自动化运维工具-Ansible之2-ad-hoc Ansible ad-hoc Ansible命令模块 Ansible软件管理模块 Ansibl ...
- 自动化运维工具——ansible详解(一)
ansible 简介 ansible 是什么? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量系统 ...
- Ansible自动化运维工具-上
[Ansible特点] 1)Ansible与saltstack均是基于Python语言开发的 2)安装使用简单,基于不同插件和模块实现各种软件,平台,版本的管理以及支持虚拟容器多层级的部署 3)不需要 ...
随机推荐
- [Android FrameWork 6.0源码学习] ViewGroup的addView函数分析
Android中整个的View的组装是采用组合模式. ViewGroup就相当与树根,各种Layout就相当于枝干,各种子View,就相当于树叶. 至于View类.我们就当它是个种子吧.哈哈! Vie ...
- Git恢复指定文件
Git恢复指定文件 修改这个文件的commit有哪些? git log -- <文件路径> 猜测需要还原的commit. 这个文件作了哪些更改? git diff <需要还原的com ...
- Java多线程中join方法详解
join()方法用于让当前执行线程等待join线程执行结束.其实现原理是不停的检查join线程是否存活,如果join线程存活则让当前线程永远等待. join()方法部分实现细节 while(isAli ...
- Spring 加载静态资源
<mvc:default-servlet-handler/> JSP 中通过标签加载js文件或者link标签加载css文件等静态资源时要在springmvc的xml文件中配置以上设置请求就 ...
- 从零搭建DotnetCore2.0
右键解决方案>新建项目> 选择Web>ASP.NETCoreWeb应用程序(.NET Core) 选择Web应用程序,暂时不选择启用Docker,身份验证选择个人用户账户(会自动生成 ...
- Unity3D 物体移动到指定点
transform.position=Vector3.MoveTowards(transform.position , Target.position, speed * Time.deltaTime) ...
- springmvc 前端 发ajax请求的几种方式
一.传json单值或对象 1.前端 var data = {'id':id,'name':name}; $.ajax({ type:"POST", url:"user/s ...
- 使用jersey 注解包扫描类PackageNamesScanner
Jersey 中自带一个包扫描,可以是包,或者具体类名 ,扫描的类型是自己定注解类型,实现功能更加大,可以是jar 包 可以是虚拟地址下的 Jersey 主要用来扫描Path Provider 类中同 ...
- java 一款可以与ssm框架完美整合的web报表控件
硕正套件运行于客户端(浏览器),与应用服务器(Application Server)技术无关,所以能完全用于J2EE. ASP.Net.php等技术开发的Web应用产品中. 硕正套件部署于服务器,支持 ...
- thinkphp 面向切面编程-行为拓展
thinkphp的CBD模式 核心保留了最关键的部分,并在重要位置设置了标签用以标记,其他功能都采用行为扩展和驱动的方式组合,开发人员可以根据自己的需要,对某个标签位置进行行为扩展或者替换,就可以方便 ...