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客户端登陆到这台远程 ...
随机推荐
- Java实现 中文转换成Unicode编码 和 Unicode编码转换成中文
想要实现中文字符转换为Unicode编码的话主要用到的是一个这样的包,自己可以去API文档里面查看下的 java.util.Properties; 直接进入主题吧,主要是 package Test01 ...
- 【转载】从头编写 asp.net core 2.0 web api 基础框架 (2)
Github源码地址是: https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scra ...
- MySQL如何插入测试数据
关于插入MySQL测试数据,这里介绍两种方法: 选择优先级(结合PHP生成测试数据 > 使用存储过程 ). 使用存储过程(建议测试数据小于1000条使用该方法) 具体代码如下: 创建表: mys ...
- Jquery_基础(二) 包装集
包装集 <body> <div id="a01">1.包装集——length</div> <div id="a02"& ...
- 存储库-MongoDB简单的操作
简介: MongoDB是一款强大.灵活.且易于扩展的通用型数据库 1.易用性 MongoDB是一个面向文档的数据库,而不是关系型的数据库: 不采用关系型主要是为了可扩展性 2.易扩展性 存储在Mong ...
- Travelling(spfa+状态压缩dp)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3001 Travelling Time Limit: 6000/3000 MS (Java/Others ...
- Linux /bin, /sbin, /usr/bin, /usr/sbin 区别
在linux下我们经常用到的四个应用程序的目录是:/bin./sbin./usr/bin./usr/sbin bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat.cp ...
- Zigbee Class 直播公告2016-10-10
周一我们将开始本期课程的首次直播, 详情如下: 场次 第一场 阶段 入门 开始时间 2016-10-10 19:00 结束时间 不定 斗鱼地址 douyu.com/zigbeeclass 内容 本期 ...
- 遍历Map集合:java.util.Map.Entry、KeySet两种方式
遍历Map集合的两种方式: 1.用KeySet Map.keySet(),返回一个存放所有key的set集合,通过遍历集合,根据key值取出所有的value值. Map<String,Strin ...
- fireasy 使用篇 - 简介
一.Fireasy 简介 Fireasy是一套基于.Net Framework应用开发组件,其主旨思想为“让开发变为更简单”,其义为,使用尽可能少的组件,实现你所需的功能.Fireasy几乎覆盖了开发 ...