ssh密钥分发与ansible
笔者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的更多相关文章
- 《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令
2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会 ...
- ssh密钥分发之二:使用sshpass配合ssh-kopy-id编写脚本批量分发密钥:
使用sshpass配合ssh-kopy-id编写脚本批量分发密钥: 首先sshpass是一个ssh连接时的免交互工具,首先要安装一下: yum install sshpass -y 接下来我们就可以使 ...
- ssh密钥的分发之一:ssh-copy-id
ssh密钥的分发 我们在使用客户端账号对主机记性管理的时候,可以分为以下两种情况: .第一种情况,直接使用root账号: 优点:使用root账号密钥分发简单,指令执行简单 缺点:不安全 .第二种情况, ...
- [svc]ssh批量分发key/批量用户管理
centos6 sshpass批量分发key yum install sshpass -y ssh-keygen -t dsa -f ~/.ssh/id_dsa -P "" 命令说 ...
- (转)SSH批量分发管理&非交互式expect
目录 1 SSH批量分发管理 1.1 测试环境 1.2 批量管理步骤 1.3 批量分发管理实例 1.3.1 利用sudo提权来实现没有权限的用户拷贝 1.3.2 利用sudo提权开发管理脚本 1.3. ...
- (转)Linux SSH批量分发管理
Linux SSH批量分发管理 原文:http://blog.51cto.com/chenfage/1831166 第1章 SSH服务基础介绍 1.1 SSH服务 1.1.1SSH介绍 SSH是Sec ...
- Linux(11):期中架构(3)--- SSH远程管理服务 & ansible 批量管理服务
SSH远程管理服务 1. 远程管理服务知识介绍 # 1.1 SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Worki ...
- [转] SSH 密钥认证机制
使用 RSA 密钥对进行 SSH 登录验证 使用 RSA 密钥对验证 SSH 的优点是 1) 不用打密码 2) 比密码验证更安全:缺点是 1) 第一次配置的时候有点麻烦 2) 私钥需要小心保存.Any ...
- SSH批量分发管理
ssh服务认证类型主要有两个: 基于口令的安全验证: 基于口令的安全验证的方式就是大家一直在用的,只要知道服务器的ssh连接账户.口令.IP及开发的端口,默认22,就可以通过ssh客户端登陆到这台远程 ...
随机推荐
- 微信【跳一跳】 opencv视觉识别 + 物理外挂
视频连接:http://v.youku.com/v_show/id_XMzMyNDQxNTA0OA==.html?spm=a2h3j.8428770.3416059.1 初入门C++ 与 opencv ...
- spring使用之旅(二) ---- AOP的使用
什么是AOP? AOP基本概念 AOP使用--注解方式 AOP使用--XML方式 实例--日志 写在最前面的(源码地址): https://github.com/xc83415134/spring_a ...
- bootstrap轮播组件之“如何关闭自动轮播”
在一个页面里使用多个bootstrap轮播组件的时候,如果还让所有轮播图都自动轮播的话,整个画面都在动,会给用户一种很不好的体验感受.所以,需要关闭轮播图的自动轮播. 关闭方法:去除如下属性即可: d ...
- 学习web前端技术的笔记,仅供自己查阅备忘,图片上传预览
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- CodeChef June Challenge 2017
好气啊,本来以为比赛时间还有很多,结果回家养病两天回到学校怎么比赛就结束了(雾),大约是小高考弄错了时间? 挑3道有意思的写写题解吧. Cloning 题目大意:给一个序列,每次询问两个等长区间,问区 ...
- BZOJ:4816: [Sdoi2017]数字表格
4816: [Sdoi2017]数字表格 Time Limit: 50 Sec Memory Limit: 128 MBSubmit: 501 Solved: 222[Submit][Status ...
- NYoj289苹果(0-1背包)
苹果 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 ctest有n个苹果,要将它放入容量为v的背包.给出第i个苹果的大小和价钱,求出能放入背包的苹果的总价钱最大值. 输 ...
- poj_2503(map映射)
题目链接poj2503 Babelfish Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 38820 Accepted: ...
- html5只需要<!DOCTYPE HTML>的原因
首先我们先了解两个东西: SGML:标准通用标记语言(以下简称"通用标言"),是一种定义电子文档结构和描述其内容的国际标准语言:[1] 通用标言为语法置标提供了异常强大的工具,同 ...
- Oracle_SQL99_连接查询
Oracle_SQL99_连接查询 交叉连接 cross join --交叉连接 cross join --作用:产生两个表的笛卡尔积 select * from emp cross join d ...