批量管理 ansible 软件的使用

远程管理服务简绍 ( 了解 )

SSH : 服务端口 22 对远程传输数据进行加密 默认支持 root 用户远程连接

telnet : 服务端口 23 对远程数据明文显示 默认禁止 root 用户远程呢个链接

远程服务通讯原理 ( 了解 )

  • 基于密码建立远程通讯过程如下 :
  1. 客户端和服务端建立三次握手
  2. 客户端向服务端发起 SSH 远程连接请求
  3. 服务端回复客户端 SSH 远程连接确认信息 确认是否建立连接或确认是否接受公钥信息
  4. 客户端接受信息后向服务端发送确认连接信息
  5. 服务端接收确认后向客户端发送公钥信息 (/etc/ssh/公钥信息)
  6. 客户端接收服务端公钥信息后保存并进行确认 ( ~/.ssh/know_hosts )
  7. 服务端向客户端询问连接密码信息
  8. 客户端向服务端发送登录密码信息
  9. 服务端向客户端进行最后确认
  • 基于密钥登录方式 : ( 身份验证 数据信息加密处理 )
  1. 管理端将创建好的秘钥对中的公钥发送给被管理端 并发送远程连接请求
  2. 被管理端对管理端进行公钥质询
  3. 管理端响应被管理端发送的公钥质询信息
  4. 被管理端进行公钥质询结果确认

秘钥连接 : ( 配置 )

管理服务器上配置(10.0.0.61)

  • 创建秘钥对信息 :
执行  ssh-keygen -t dsa 

The key's randomart image is:
+---[DSA 1024]----+
|        o. oB*o. |
|   o   . o.o...  |
|  . + . . + o    |
| . = . o * = .   |
|  * .   S = o.   |
| . . . o + .o.+  |
|      . oo o.+Eo |
|        .o+.o+.  |
|         .oo  .  |
+----[SHA256]-----+

  • 检查文件是否创建成功 :
 执行 ll ~/.ssh/

-rw------- 1 root root 668 Aug 21 16:34 id_dsa
-rw-r--r-- 1 root root 598 Aug 21 16:34 id_dsa.pub
-rw-r--r-- 1 root root 518 Aug 21 11:37 known_hosts

创建成功式样
  • 将公钥发送到被管理端服务器上 :
ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.31

远程管理服务配置文件 :

配置文件 :

​ ssh服务端 : /etc/ssh/sshd_config

​ ssh客户端 :/etc/ssh/ssh_config

配置文件参数信息

#Port 22                    --- 指定服务端口号  52113 
#ListenAddress 0.0.0.0      --- 任意主机地址都进行监听
 PS: 所有服务监听的地址只能是本地网卡上有的地址
#PermitRootLogin yes        --- 是否允许root用户远程登录 oldboy -- su -- root  (jumpserver)
#PermitEmptyPasswords no    --- 是否允许无密码进行远程连接
#GSSAPIAuthentication yes   --- 使用GSSAPI认证方式进行远程连接  影响ssh远程连接效率
#UseDNS yes                 --- 是否进行DNS反向解析过程         影响ssh远程连接效率

远程管理安全 :

  1. 尽量使用秘钥认证减少密码认证的使用 , 使用密码认证时要保证密码具有一定的复杂程度且要不定期修改密码
  2. 架构中的服务器尽量避免安装外网网卡保障环境好安全
  3. 在有外网网卡的服务器上做好服务地址监听提高安全性
  4. 监控系统重要文件 如 /etc/ /var/ 是否被修改 inotify 对比指纹信息(zabbix)
  5. 防火墙服务或硬件根据业务情况做相应的安全访问控制
  6. 给重要文件上锁 : ( chattr )
    1. 用户相关文件上锁 : password shadown group groupshadown
    2. 服务程序运行相关文件上锁 : rc.local profile.d/ crond
    3. 系统环境配置相关文件上锁 : profile bashrc ifcfg-eth0 reslove.conf rsyncd.conf

批量管理服务

  1. 同时并行管理多台主机 ()
    1. 批量分发数据
    2. 批量部署软件
    3. 批量搜集系统信息资产管理
    4. 实现自动管理理应用 (代码上线 服务重启 )
  2. ansible 软件特点 :
    1. 部署安装简单方便
    2. 软件不需要启动服务
    3. 客户端不需要进行配置
    4. 功能作用强大

ansible 部署安装过程

管理端 :

​ 安装软件 : yum install -y ansible

-rw-r--r-- 1 root root 19980 Jul 21 07:59 ansible.cfg -- 程序配置文件默认配置即可
-rw-r--r-- 1 root root  1016 Jul 21 07:59 hosts       -- 主机清单文件
drwxr-xr-x 2 root root     6 Jul 21 07:59 roles

ansible 语法 : ansible 管理谁 -m 模块信息(要做的事) -a (具体使用模块的参数)

[ansilble 172.16.1.41 -m ping]

排错方法
编写文件 : vim /etc/ansible/hosts

被管理端 :

​ 确认防火墙和selinux安全服务是否关闭

配置使用软件

主机清单配置

  1. 直接将被管理的主机Ip地址写入 /etc/ansible/hosts 文件底行

    1. vim /etc/ansible/hosts
    2. ansible all -m ping
    3. ansible 172.16.1.41,172.16.1.31 -m ping
  2. 分组配置

    1. 组名用[] 号来括起来 :

      [分组名称]

      IP 地址

  3. ansible程序内置变量

    ansible_user=root ansible_password=123456 ansible_port=22

    1 2 3

    1. 用户
    2. 密码
    3. 服务端口
  4. 嵌入式 :

    [rsync:children] [ 名称 : children]

    rsync_server 管理的分组名称
    rsync_client 管理的分组名称

  1. 使用符号信息匹配

    [rsync_client]
    172.16.1.[1:7]

掌握功能模块

command 命令模块 批量执行命令 ansible all -m command -a hostname

​ 局限性 : 有些特殊符号不能识别

shell 模块 命令模块 批量执行命令 万能模块

​ 可识别一些特殊符号

script 批量运行脚本 命令模块

​ shell编写脚本

​ 将脚本分发给每个被管理主机 :

ansible oldboy -m copy -a "src=/server/scripts/create_user.sh dest=/server/scripts/"

​ 修改脚本文件权限 加上执行权限

ansible oldboy -m file -a "path=/server/scripts/create_user.sh mode=755"

​ 批量执行脚本

ansible oldboy -m shell -a "/server/scripts/create_user.sh"

script 编写脚本 批量执行

ansible oldboy -m script -a "/server/scripts/create_user.sh"

尽量使用专业的模块功能完成相应的工作

[模块使用方法 : 先进入官方网站 简单了解模块的作用 (看标题) ; 查看详细说明 Synopsis 简绍 ; 参数信息 Parameters 看举例里面相应模块参数 (缩进信息)]

ansible 不同颜色说明 :

  1. 绿色 : 对主机信息进行查看 执行成功
  2. 黄色 : 对主机信息进行查看 对主机进行调整修改
  3. 紫色 : 对主机信息进行查看 建议忠告信息
  4. 红色 :对主机信息进行查看 报错提示信息
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容