笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流

当我们公司的服务器达到几十台或几百台或更高的时候,利用批量管理工具管理系统是我们要做的

常用的批量管理工具有ansible,stalstack.

那首先我们要实现管理机对所有服务器的免密钥登录---ssh-key

#管理机生成密钥对

[root@m01 ~]# ssh-keygen -t dsa             #-t指定加密的方式,默认为rsa

#提示生成的密钥放在/root/.ssh/id_dsa
#提示是否给生成的密钥再加密一次,回车即可
#让你再确认一次,回车即可。

[root@m01 ~]# ll /root/.ssh/
total
-rw-------. root root Mar : id_dsa #生成后的私钥文件
-rw-r--r--. root root Mar : id_dsa.pub #公钥文件
-rw-r--r--. root root Mar : known_hosts

#非交互式生成秘钥对

方法1:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa >/dev/null >&
方法2:echo -e "\n"|ssh-keygen -t dsa -N "" &> /dev/null

#第二个里程碑
#把公钥发送到机器上

[root@m01 .ssh]# ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.41

第一次连接要输入yes,记录主机名跟IP,然后输出对方的密码即可

[root@m01 .ssh]# ssh 172.16.1.41
Last login: Wed Mar :: from 10.0.0.253

#公钥发送过去之后,登录对方的机器不用密码了。

#非交互式发送密码

yum install sshpass -y

#用脚本批量给服务器发送密钥

#!/bin/bash
passwd=
IP_ADDR="31 41 5 51 6 7 8 120"
. /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 /root/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no 172.16.1.${i}" >/dev/null >& if [ $? == ];then
echo -e "\033[32m=========`ssh 172.16.1.$i hostname`==========\033[0m"
action "发送成功!!!" /bin/true
else
echo -e "\033[31m======172.16.1.$i=======\033[0m"
action "发送失败!!!" /bin/false
fi
done

开始安装ansible
搭建yum仓库,定制rpm包是自动化运维关键内容,先保留yum安装的软件:

sed -i.bak 's#keepcache=0#keepcache=1#g' /etc/yum.conf
grep keepcache /etc/yum.conf
keepcache=

管理机m01安装ansible
需要先安装epel源

##wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

yum install ansible -y

所有被管理端需要安装:

yum install libselinux-python -y
rpm -qa libselinux-python

ansible配置文件/etc/ansible/hosts

原创作品,转载请注明出处。http://www.cnblogs.com/Csir/

ssh密钥分发与ansible的更多相关文章

  1. 《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令

    2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会 ...

  2. ssh密钥分发之二:使用sshpass配合ssh-kopy-id编写脚本批量分发密钥:

    使用sshpass配合ssh-kopy-id编写脚本批量分发密钥: 首先sshpass是一个ssh连接时的免交互工具,首先要安装一下: yum install sshpass -y 接下来我们就可以使 ...

  3. ssh密钥的分发之一:ssh-copy-id

    ssh密钥的分发 我们在使用客户端账号对主机记性管理的时候,可以分为以下两种情况: .第一种情况,直接使用root账号: 优点:使用root账号密钥分发简单,指令执行简单 缺点:不安全 .第二种情况, ...

  4. [svc]ssh批量分发key/批量用户管理

    centos6 sshpass批量分发key yum install sshpass -y ssh-keygen -t dsa -f ~/.ssh/id_dsa -P "" 命令说 ...

  5. (转)SSH批量分发管理&非交互式expect

    目录 1 SSH批量分发管理 1.1 测试环境 1.2 批量管理步骤 1.3 批量分发管理实例 1.3.1 利用sudo提权来实现没有权限的用户拷贝 1.3.2 利用sudo提权开发管理脚本 1.3. ...

  6. (转)Linux SSH批量分发管理

    Linux SSH批量分发管理 原文:http://blog.51cto.com/chenfage/1831166 第1章 SSH服务基础介绍 1.1 SSH服务 1.1.1SSH介绍 SSH是Sec ...

  7. Linux(11):期中架构(3)--- SSH远程管理服务 & ansible 批量管理服务

    SSH远程管理服务 1. 远程管理服务知识介绍 # 1.1 SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Worki ...

  8. [转] SSH 密钥认证机制

    使用 RSA 密钥对进行 SSH 登录验证 使用 RSA 密钥对验证 SSH 的优点是 1) 不用打密码 2) 比密码验证更安全:缺点是 1) 第一次配置的时候有点麻烦 2) 私钥需要小心保存.Any ...

  9. SSH批量分发管理

    ssh服务认证类型主要有两个: 基于口令的安全验证: 基于口令的安全验证的方式就是大家一直在用的,只要知道服务器的ssh连接账户.口令.IP及开发的端口,默认22,就可以通过ssh客户端登陆到这台远程 ...

随机推荐

  1. 数据挖掘概念与技术15--为快速高维OLAP预计算壳片段

    1. 论数据立方体预计算的多种策略的优弊 (1)计算完全立方体:需要耗费大量的存储空间和不切实际的计算时间. (2)计算冰山立方体:优于计算完全立方体,但在某种情况下,依然需要大量的存储空间和计算时间 ...

  2. 【转载】wifi一键配网smartconfig原理及应用

    物联网给我们又提供了一种窃取WiFi密码的好方式:让智能设备主动断线. 同时也提供一种让智能设备连接到恶意WiFi的方式:设备一键配置功能时疯狂广播恶意WiFi的信息. 转自:http://blog. ...

  3. [Link-Cut-Tree]【学习笔记】

    可以按照<Utopiosphere>的调唱出来 “Link-Cut ,Time doesn’t stop .Prepare your doubts ,Eat them up” 参考资料: ...

  4. hackerrank DFS Edges

    瞬间移动 题意:要求构造一个图,使其dfs树中有t条树边,b条返祖边,f条前向边,c条其他边. 膜了题解才会,好神啊. 考虑所有结点的深度之和,这个值必须介于$[max(b,f+t),C^{2}_{n ...

  5. 51 Nod 1057 N的阶乘【Java大数乱搞】

    1057 N的阶乘 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 输入N求N的阶乘的准确值.   Input 输入N(1 <= N <= 10000) Ou ...

  6. BZOJ 1968: [Ahoi2005]COMMON 约数研究(新生必做的水题)

    1968: [Ahoi2005]COMMON 约数研究 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 2351  Solved: 1797 [Submi ...

  7. Android源码博文集锦3

    Android精选源码 android实现最简洁的标签(label/tag)选择/展示控件   懂得智能配色的ImageView,还能给自己设置多彩的阴影哦   NicePhoto-基于 Kotlin ...

  8. spring是什么???

    1.是一个容器 2.用于降低代码间的耦合度3.根据不同的代码采用ioc和aop两种技术解耦合...

  9. Java入门篇(五)——Java的字符串/String类

    前面在举例时有出现过String的例子,当时肯定有一部分朋友不知道这个是做什么用的.其实String类是Java中一个比较特殊的类,字符串即String类,它不是Java的基本数据类型之一,但可以像基 ...

  10. 初窥React Native

    这两天在学习react native,被虐得布耀布耀的,运行一个hello world花了一天时间(手动捂脸). 由于是跟着官网走,所以一开始便是开发环境的搭建.其他的就不说了(详情见 React N ...