Skip to content
SRE运维进阶之路SRE运维进阶之路
devops
github icon
    • Ansible 学习笔记
      • 1 初识Ansible
        • 2 Ansible Inventory配置详解
            • 5.1 自定义变量
              • 5.2 Fact变量
                • 5.3 魔法变量
                  • 5.4 使用lookup生成变量
                    • 5.5 使用vault配置加密
                      • 1 简介
                        • 2 Ansible-vault常用操作
                          • 3 Ansible-vault配置示例
                        • 6 Ansible使用优化
                          • 7 常见问题

                          5.5 使用vault配置加密

                          author iconClaycalendar icon2020年3月20日category icon
                          • 自动化工具
                          tag icon
                          • Ansible
                          timer icon大约 1 分钟

                          此页内容
                          • 1 简介
                          • 2 Ansible-vault常用操作
                          • 3 Ansible-vault配置示例

                          # 5.5 使用vault配置加密

                          # 1 简介

                          在使用ansible的过程中,不可避免的会存储一些敏感信息,比如在变量文件中存储帐号密码信息等。

                          ansible通过ansible-vault命令行工具来提供对敏感文件的加密和解密。

                          ansible-vault可以创建、加密、解密和查看文件。其可以加密任何ansible使用的文件,包括inventory文件,playbook中调用的变量文件等。

                          # 2 Ansible-vault常用操作

                          1. 创建加密文件
                          ansible-vault create file
                          
                          1
                          1. 编辑加密文件
                          ansible-vault edit file
                          
                          1
                          1. 重置密码
                          ansible-vault rekey file
                          
                          1
                          1. 加密已有文件
                          ansible-vault encrypt file
                          
                          1
                          1. 解密文件
                          ansible-vault decrypt file
                          
                          1
                          1. 查看文件
                          ansible-vault view file
                          
                          1

                          # 3 Ansible-vault配置示例

                          1. 创建一个user.yml的变量文件,内容如下:
                          username: "user1"
                          pwhash: "$1$GkTPu7we$ZZtdsLPIHkS.fmoVcn3v51"
                          
                          1
                          2
                          1. 加密上面创建的变量文件:
                          # ansible-vault encrypt user.yml 
                          New Vault password: 
                          Confirm New Vault password: 
                          Encryption successful
                          
                          1
                          2
                          3
                          4
                          1. 编写playbook文件如下:
                          - name: create user accounts for all our servers
                            hosts: test
                            become: True
                            remote_user: ansible
                            vars_files:
                              - user.yml
                            tasks:
                              - name: Creating user from user.yml
                                user:
                                  name: "{{ username }}"
                                  password: "{{ pwhash }}"
                          
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          1. 执行playbook
                          # ansible-playbook create_user.yml --ask-vault-pass
                          Vault password: 
                          
                          1
                          2

                          也可以通过如下操作执行playbook:

                          echo redhat > vault-pass
                          chmod 600 vault-pass
                          
                          ansible-playbook create_user.yml --vault-password-file=vault-pass
                          
                          1
                          2
                          3
                          4
                          edit icon编辑此页open in new window
                          上次编辑于: 2023/4/19 13:50:36
                          贡献者: clay-wangzhi
                          上一页
                          5.4 使用lookup生成变量
                          备案号:冀ICP备2021007336号
                          Copyright © 2023 Clay