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客户端登陆到这台远程 ...
随机推荐
- React Native学习(三)—— 使用导航器Navigation跳转页面
本文基于React Native 0.52 参考文档https://reactnavigation.org/docs/navigators/navigation-prop 一.基础 1.三种类型 Ta ...
- Spring(一)Spring的第一滴血
前言 开始工作了,但是一进来公司本来是做爬虫和数据分析的,但是走了一个后端的,导致我必须要去顶替他的工作.因为这个项目使用的是Spring. SpringMVC.Hibernate所以我又要去回忆一下 ...
- CTF---密码学入门第四题 困在栅栏里的凯撒
困在栅栏里的凯撒分值:10 来源: 北邮天枢战队 难度:易 参与人数:4531人 Get Flag:2124人 答题人数:2285人 解题通过率:93% 小白发现了一段很6的字符:NlEyQd{sef ...
- win10系统下如何用命令行的方式打开画图软件
按 win + r 后输入命令 mspaint 再 回车 即可!如下图所示:
- 构建LVS-DR+Keepalive高可用集群
------client----------主LVS----------从LVS------------WEB1-------------WEB2--------- 2.2.2.250 2.2.2. ...
- 将电脑文件复制到vm虚拟机中,然后安装步骤
[root@lixiaohu 桌面]# cp openssl-1.0.1f.tar.gz /usr/src /usr/src 这是复制到的路径[root@lixiaohu 桌面]# cd / ...
- 微信小程序 登录流程规范解读
一. 官方登录时序图 二. 简单理解 这里仅按照官方推荐的规范来 0. 前置条件 一共有三端: - 微信小程序客户端 - 第三方服务器端(自己搭建) - 微信服务器端 1. 客户端获得code,并将c ...
- Bad Request (Invalid Hostname)什么意思? 200
一般来说与你电脑无关 错误请求(无效主机名) 域名已绑定主机 但主机未绑定域名就会出现这种情况! 总结页面出现Bad Request (Invalid Hostname)的原因: 1.如果确定域名已经 ...
- 如何在Chrome下使用Postman进行rest请求测试
在web和移动端开发时,常常会调用服务器端的restful接口进行数据请求,为了调试,一般会先用工具进行测试,通过测试后才开始在开发中使用.这里介绍一下如何在chrome浏览器利用postman应用进 ...
- 什么是redis,redis能做什么,redis应用场景
Redis是一个key-value存储系统.Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用.这篇文章小编为大家分享了在 ...