Ansible实现批量管理服务器
Ansible介绍:
a. ansible是一个基于Python开发的自动化运维工具
b. ansible是一个基于ssh协议实现远程管理的工具
c. ansible软件可以实现多种批量管理操作(批量系统配置、批量软件部署、批量文件拷贝、批量运行命令)
saltstack puppet (都是类似软件)
批量管理服务特征介绍.
客户端不需要启动任何服务,服务端不需要任何的配置.
Server端安装(管理端): yum -y install ansible.
ansible客户端(受控端):没有客户端软件安装.
部署安装流程(ansible自动化批量管理服务器部署流程)CentOS6.9环境:
a.管理主机: 10.0.0.61 m01
受控主机:
10.0.0.41 backup(备份主机)
10.0.0.31 nfs01(nfs服务器)
Ansible软件自动化部署条件:
b.建议基于ssh密钥方式建立远程连接.
@1.ssh-keygen 创建密钥对(管理主机上) ssh-keygen -t dsa
@2.分发公钥文件(管理主机进行分发)
ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.31
ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.41
ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.51
@3.检查是否可以进行基于密钥远程管理;
ssh ip uptime (ssh tony@172.16.1.x)
免交互进行创建密钥对和 免交互进行密钥分发.
>/root/.ssh/known_hosts 追加输出重定向, 清空 known_hosts 已连接主机列表.
ssh-keygen -t dsa (创建密钥,需要进行人为干预)
ssh-keygen -t dsa -f /root/.ssh/id_rsa
-N/-P -N ""/-P""
免交互实现密钥的创建到指定的目录下: ssh-keygen -t dsa -f /root/.ssh/id_dsa -N ""
man ssh ssh-keygen
ssh-keygen - authentication key generation, management and conversion
需要安装sshpass 软件 yum -y install sshpass

免交互进行密钥分发.
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.31
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no 172.16.1.31"
批量创建密钥对和批量分发密钥脚本:
#!/bin/bash
rm -f /root/.ssh/id*
ssh-keygen -t dsa -f /root/.ssh/id_dsa -N ""
for ip in 31 41 51 8
do
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no $ip"
done
重新分发之前 cd /root/.ssh .
[root@nfs01 .ssh]# rm -f authorized_keys
删除之后再在管理主机上执行免密钥分发文件.
ssh -o StrictHostKeyChecking 参数,实现免交互认证
基于ssh口令方式建立远程连接(也可以)
通过对vim /usr/bin/ssh-copy-id 修改这个文件的端口,可以更改远程SSH的端口
{ eval "$GET_ID" ; } | ssh -p 52113 $1 "exec sh -c 'cd; umask 077; test -d .ssh || mkdir .ssh ; cat >> .s
sh/authorized_keys && (test -x /sbin/restorecon && /sbin/restorecon .ssh .ssh/authorized_keys >/
dev/null 2>&1 || true)'" || exit 1
c. ansible 软件下载安装
yum -y install ansible 服务端安装软件(ansible)
yum -y install libselinux-python 受控主机需要安装这个软件
需要修改ansible.cfg 文件
d.ansible软件应用过程.
ansible-doc -l 查看ansible的模块
Ansible实现批量管理服务器的更多相关文章
- ansible 开源批量管理服务器工具
Ansible 是一款基于 Python 开发的自动化运维工具,可以进行配置管理.批量部署等功能.对于机器较多的场景,可以使用 Ansible 来免去重复敲命令的烦恼. 安装ansibleyum -y ...
- Linux 运维工作中的经典应用ansible(批量管理)Docker容器技术(环境的快速搭建)
一 Ansible自动化运维工具 Python 在运维工作中的经典应用 ansible(批量管理操作) .安装ansible(需要bese epel 2种源) wget -O /etc/yum.rep ...
- Ansible playbook 批量修改服务器密码 先普通后root用户
fsckzy Ansible playbook 批量修改服务器密码 客户的需求:修改所有服务器密码,密码规则为Rfv5%+主机名后3位 背景:服务器有CentOS6.7,SuSE9.10.11,r ...
- 远程管理服务器--批量管理服务器,vps
一般大型的企事业单位都有自己的服务器,但是服务器一般都放在机房,辐射较大,噪音大,如何能有效的避免这一情况呢?哈哈,那就来个远程桌面,远程操作服务器吧. 一.使用 iis7远程连接管理工具工具下载官网 ...
- PSSH 批量管理服务器
pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问. 1. ...
- pssh批量管理服务器
pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问. 1. ...
- linux expect自动登陆远程服务器 批量管理服务器
#!/usr/bin/expect set ipaddress [lindex $argv 0] set passwd [lindex $argv 1] set timeout 3 spawn ssh ...
- CentOS7Linux中自动化运维工具Ansible的安装,以及通过模块批量管理多台主机
使用自动化运维工具Ansible集中化管理服务器 Ansible概述 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具.它用Python写成,类似于saltstack和Puppet ...
- ansible批量管理常见的配置方法
第7章 ansible的管理 7.1 ansible概念的介绍 ansible-playbook –syntax 检查语法 ansible-playbook -C ...
随机推荐
- 自定义markdown代码高亮显示-cnblog
这个代码高亮..一点儿都不高亮...... cnblog里已经有闻道先者贴出代码了, https://www.cnblogs.com/liutongqing/p/7745413.html 效果大概是这 ...
- JVM运行时数据区--深入理解Java虚拟机 读后感
程序计数器 程序计数器是线程私有的区域,很好理解嘛~,每个线程当然得有个计数器记录当前执行到那个指令.占用的内存空间小,可以把它看成是当前线程所执行的字节码的行号指示器.如果线程在执行Java方法,这 ...
- python第三课--函数
函数的作用 编程大师Martin Fowler先生曾经说过:“代码有很多种坏味道,重复是最坏的一种!”,要写出高质量的代码首先要解决的就是重复代码的问题.例如3次求阶乘: m = int(input( ...
- Android lifecycle 实战及使用进阶
版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/gdutxiaoxu/article/det ...
- Gitment评论插件的使用
前言 继上一篇的 GitPages部署自己的网站 现在开始添加博客的评论插件Gitment.这里的话我是使用hexo添加gitment插件,如果不是使用hexo,请到官网指定这里. 开始 第一步 注册 ...
- 如何利用jenkins插件查看allure报告-----完整篇(解决404和无数据问题)
背景: python3+appium+pytest+allure写了安卓的自动化脚本,在windows本机pycharm上跑通过后生成了allure报告. 公司jenkins搭建在linux服务器上 ...
- .net core redis的全套操作
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). Redis支持主从同步.数据可以从主服务器向任意数 ...
- npm钉钉脚手架,支持考勤信息获取
钉钉官方并未提供nodejs包,第一次调用接口的时候非常费事,而且尝试去寻找相关的钉钉考勤数据模块的时候只找到了一些消息啊,只能办公啊,免登啊之类的模块,有关考勤数据的似乎没有 关于dd的npm包中一 ...
- 03 requests模块基础
1. requests 模块简介 什么是requests 模块 requests模块是python中原生的基于网络请求的模块,功能强大,用法简洁高效.在爬虫领域中占据着半壁江山的地位.requests ...
- Docker系列之AspNetCore Runtime VS .NetCore Runtime VS .NET Core SDK(四)
前言 接下来我们就要慢慢步入在.NET Core中使用Docker的殿堂了,在开始之前如题,我们需要搞清楚一些概念,要不然看到官方提供如下一系列镜像,我们会一脸懵逼,不知道到底要使用哪一个. AspN ...