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做秘钥分发:

 1 #/bin/bash
 2 password=1qaz@WSX
 3 IP_ADDR='10.251.26.81'
 4 
 5 
 6 #. /etc/init.d/functions
 7 #if ! [ -f ~/.ssh/id_dsa.pub ];then
 8 #    ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa >/dev/null 2>&1
 9 #    echo -e "\033[32m======Local=========\033[0m"
10 #    action "Generate the key!"  /bin/true
11 #fi
12 
13    for i in $IP_ADDR;do
14 #     sshpass -p $passwd ssh-copy-id -i /home/shadm1/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no ${i}"  >/dev/null 2>&1
15       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}"  不用加双引号
16       if [ $? == 0 ];then
17           echo -e "\033[32m=========`ssh $i hostname`==========\033[0m"
18           action  "send successful" /bin/true
19       else
20           echo -e "\033[31m======$i=======\033[0m"
21           action  "send failed" /bin/false
22       fi
23    done
24          

 

利用一个简单的脚本来做秘钥分发

 

 

完成后,测试执行ansible:

ansible test -m command -a 'hostname' -u shadm1 -U useradmin --ask-sudo-pass

可以正常执行,成功!

 

QQ:531197592,有问题请指正

 

转载于:https://www.cnblogs.com/sexiaoshuai/p/7366266.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值