当前位置: 首页 > news >正文

RHCE-B13. 创建Ansible密码库,使用文件内密码加密yml

红帽RHCE考试下午-RHCE(RH294)

RH294任务概览

  • 考试时间4个小时,6台虚拟机,15道题
  • 原来通过脚本或者集群做的题现在都需要使用playbook实现
  • 考试时大概有6台虚拟服务器,都已经做好了互相的免密
  • 做题在ansible控制节点workstation做,但是需要去其他虚拟服务器进行验证
  • 考试时需要将6台虚拟服务器在考试环境全部开启,物理机界面点击左侧按钮启动
  • 考试时Ansible所有playbook都放在普通用户目录中且都以普通用户执行
  1. 注意:考试时一定注意要求将playbook放在指定用户的家目录中,用指定的用户登录做题!
  2. 注意:考试的判分方式通过普通用户远程执行指定目录下的playbook或者脚本,如果使用root做题,则没有权限就是零分

13. 创建Ansible密码库

  • 按照下方所述,创建一个 Ansible 库来存储用户密码:库名称为 /home/student/ansible/locker.yml

任务要求

  • 库中含有两个变量,名称如下:
  1. pw_developer,值为 Imadev
  2. pw_manager,值为 Imamgr
  • 用于加密和解密该库的密码为kkk123456
  • 密码存储在文件 /home/student/ansible/secret.txt 中
    注意:

准备个工作

  • 考试期间不需要做

完成步骤

    1. 创建locker.yml指定键值对
[student@workstation ansible]$ vim locker.yml
---
pw_developer: lmadev 
pw_manager: lmamgr
    1. 配置密钥文件secret.txt,更改权限这个操作是习惯性动作
[student@workstation ansible]$ echo kkk123456 > /home/student/ansible/secret.txt
[student@workstation ansible]$ chmod 600 /home/student/ansible/secret.txt
    1. 将密钥文件应用到locker.yml密码库上,不会用可以ansible-vault --help一下
[student@workstation ansible]$ ansible-vault  encrypt --vault-id=secret.txt locker.yml 

encrypt是ansible-vault的子命令,长选项–vault-id= 应该放在子命令后面

  • 验证
## 使用密钥解密locker.yml密码库
[student@workstation ansible]$ ansible-vault view locker.yml
Vault password: *********
  • 这道题必须要做对呀,否则下一道题要用到这道题的东东

考察的知识点

ansible-vault

  • Ansible 1.5的新版本中, “Vault” 作为 ansible 的一项新功能可将例如passwords,keys等敏感数据文件进行加密,而非存放在明文的 playbooks 或 roles 中. 这些 vault 文件可以分散存放也可以集中存放.
  • vault 可以加密任何 Ansible 使用的结构化数据文件.
  1. 创建加密文件

ansible-vault create file

  1. 编辑加密文件

ansible-vault edit file

  1. 重置密码

ansible-vault rekey file

  1. 加密已有文件

ansible-vault encrypt file

  1. 解密文件

ansible-vault decrypt file

  1. 查看文件

ansible-vault view file

  1. 使用帮助
    ansible-vault --help
 1 $ ansible-vault -h
 2 Usage: ansible-vault [create|decrypt|edit|encrypt|encrypt_string|rekey|view] [options] [vaultfile.yml]
 3 
 4 Options:
 5   --ask-vault-pass      ask for vault password
 6   -h, --help            show this help message and exit
 7   --new-vault-id=NEW_VAULT_ID
 8                         the new vault identity to use for rekey
 9   --new-vault-password-file=NEW_VAULT_PASSWORD_FILE
10                         new vault password file for rekey
11   --vault-id=VAULT_IDS  the vault identity to use
12   --vault-password-file=VAULT_PASSWORD_FILES
13                         vault password file
14   -v, --verbose         verbose mode (-vvv for more, -vvvv to enable
15                         connection debugging)
16   --version             show program's version number, config file location,
17                         configured module search path, module location,
18                         executable location and exit
19 
20  See 'ansible-vault <command> --help' for more information on a specific
21 command.
  • 创建密码文件并对已存在文件进行加密
    echo "111111" > vault_pwd
    ansible-vault encrypt test_vault02.yml --vault-password-file=vault_pwd

Vault ID和多密码

  • ansible2.4版本以后,新增了Vault ID和多密码的特性。
  • Vault ID可以理解为为一个密码设置一个标签,用于管理员识别使用的是哪个密码,例如dev,prod,cloud等等;多密码指执行一次playbook时可以指定多个密码文件。
  • ansible2.4版本以后,又增加了「–vault-id」的参数,可以用来指定密码文件:
    ansible-vault encrypt --vault-id=<密码文件> <需要被加密的文件>

相关文章:

  • RHCE-B14. 基于Ansible密码库创建用户帐户
  • RHCE-B15.更新 Ansible 库的密钥
  • RHCE-B16.编写playbook创建cron计划任务
  • ubuntu和centos创建用户的区别
  • 常见编程语言都是什么类型的?不同类型的语言有什么区别?
  • False等价布尔值bool(value)
  • 写shell脚本的一种开头方式,给你的脚本加个保险
  • 离线安装pyenv的shell脚本
  • Python语言的特点
  • Python中标识符的命名规则
  • Python 仅有33个系统关键字
  • [TroubleShooting]CentOS8使用pyenv部署多版本python时报 python: command not found
  • Linux设置pip国内源
  • CentOS8部署多版本共存Python开发环境
  • Win10部署python多版本开发环境
  • echarts花样作死的坑
  • ES6系统学习----从Apollo Client看解构赋值
  • flutter的key在widget list的作用以及必要性
  • Javascript编码规范
  • Laravel 中的一个后期静态绑定
  • Median of Two Sorted Arrays
  • PHP的Ev教程三(Periodic watcher)
  • Ruby 2.x 源代码分析:扩展 概述
  • Transformer-XL: Unleashing the Potential of Attention Models
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • V4L2视频输入框架概述
  • vue-cli3搭建项目
  • Vue学习第二天
  • 关于for循环的简单归纳
  • 关于使用markdown的方法(引自CSDN教程)
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 前端面试题总结
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 双管齐下,VMware的容器新战略
  • 微信小程序--------语音识别(前端自己也能玩)
  • 移动端 h5开发相关内容总结(三)
  • ionic入门之数据绑定显示-1
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • #13 yum、编译安装与sed命令的使用
  • #单片机(TB6600驱动42步进电机)
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)Windows2003安全设置/维护
  • (转)创业家杂志:UCWEB天使第一步
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .Net Core 中间件验签
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET和.COM和.CN域名区别
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • ??eclipse的安装配置问题!??
  • @JSONField或@JsonProperty注解使用
  • []指针