加密文件

Ansible 有时需要访问一些敏感数据,如密码、Key等

使用ansible-vault可以加密和解密数据

# 创建测试文件
[root@control ansible]# echo 123456 > data.txt
# 加密文件
[root@control ansible]# ansible-vault encrypt data.txt
# 查看文件内容
[root@control ansible]# cat data.txt
# 查看加密文件
[root@control ansible]# ansible-vault view data.txt
# 解密文件
[root@control ansible]# ansible-vault decrypt data.txt

可以通过ansible-vault rekey修改加密的密码

如果角色加密解密每次都输入密码很麻烦,可以将密码写入文件

[root@control ansible]# echo "I'm secret data" >> data.txt
[root@control ansible]# echo 123456 > pass.txt
[root@control ansible]# ansible-vault encrypt --vault-id=pass.txt data.txt
[root@control ansible]# cat data.txt
[root@control ansible]# ansible-vault decrypt --vault-id=pass.txt data.txt
[root@control ansible]# cat data.txt

使用场景

1、传送敏感数据到远程主机

[root@control ansible]# echo "I'm secret data" >> data.txt
[root@control ansible]# echo 123456 > pass.txt
[root@control ansible]# ansible-vault encrypt --vault-id=pass.txt data.txt [root@control ansible]# ansible test -m copy --vault-id=pass.txt -a "src=data.txt dest=/tmp/ mode=0600"

2、Playbook调用敏感数据(账号名、密码等)

# Step1: 在变量yml文件中配置用户名和密码
[root@control ansible]# cat ~/ansible/variables.yml
iname: cloud
ipass: '123456'
# Step2: 将变量yml文件加密
[root@control ansible]# ansible-vault encrypt variables.yml
# Step3: 配置playbook用vars_files调用用户名和密码
[root@control ansible]# cat ~/ansible/vault.yml
---
- hosts: test
vars_files: variables.yml
tasks:
- name: include vault data, create user.
user:
name: "{{iname}}"
password: "{{ipass|password_hash('sha512')}}"
# Step4: 执行剧本(询问加密文件的密码,手动输入)
[root@control ansible]# ansible-playbook --ask-vault-pass vault.yml

(END)

Ansible - [10] Vault(加密&解密)的更多相关文章

  1. Ansible playbook Vault 加密

    Ansible playbook Vault 加密详解与使用案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务 ...

  2. .NET和JAVA中BYTE的区别以及JAVA中“DES/CBC/PKCS5PADDING” 加密解密在.NET中的实现

    场景:java 作为客户端调用已有的一个.net写的server的webservice,输入string,返回字节数组. 问题:返回的值不是自己想要的,跟.net客户端直接调用总是有差距 分析:平台不 ...

  3. c#和js互通的AES加密解密

    一.使用场景 在使用前后端分离的框架中常常会进行传输数据相互加密解密以确保数据的安全性,如web Api返回加密数据客户端或web端进行解密,或者客户端或web端进行加密提交数据服务端解密数据等等. ...

  4. PHP AES的加密解密

    AES加密算法 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DE ...

  5. [PHP]加密解密函数

    非常给力的authcode加密函数,Discuz!经典代码(带详解) function authcode($string, $operation = 'DECODE', $key = '', $exp ...

  6. 【转】asp.net(c#)加密解密算法之sha1、md5、des、aes实现源码详解

    原文地址:http://docode.top/Article/Detail/10003 目录: 1..Net(C#)平台下Des加密解密源代码 2..Net(C#)平台下Aes加密解密源代码 3..N ...

  7. openfire 用户密码加密解密

    1.openfire采用的加密方法 Blowfish.java /** * $RCSfile$ * $Revision: 3657 $ * $Date: 2002-09-09 08:31:31 -07 ...

  8. iOS使用Security.framework进行RSA 加密解密签名和验证签名

    iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...

  9. JS实现base64加密解密

    JS实现base64加密解密 转载自http://blog.csdn.net/fengzheng0306/archive/2006/04/25/676055.aspx 方法一: <HTML> ...

  10. 【代码笔记】iOS-3DES+Base64加密解密

    一,工程目录. 二,代码. RootViewController.m #import "RootViewController.h" #import "NSString+T ...

随机推荐

  1. VLC web(http)控制 (2) 状态获取

    VLC 状态通过http://127.0.0.1:8080/requests/status.xml获取.(IP地址自行更换) 内容如下: <root> <fullscreen> ...

  2. RHCL8无法使用yum install的解决方法

    ​报错如下: Updating Subscription Management repositories. Unable to read consumer identity This system i ...

  3. 为什么SQL正在击败NoSQL,这对未来的数据意味着什么(转载)

    为什么SQL正在击败NoSQL,这对未来的数据意味着什么 : http://geek.csdn.net/news/detail/238939 译者注:经过多年的沉寂之后,今天的SQL正在复出.缘由如何 ...

  4. 永久告别mac屏幕涂层脱落

    转载:https://www.feng.com/post/11380203 我从2011年开始使用Mac book pro电脑,到现在的2016款已经是第三台了,我从来都不会被涂层脱落这个问题困扰,我 ...

  5. TagHelper中获取当前Url

    在自定义TagHelper时,我们无法通过TagHelperContext 和 TagHelperOutput 获取到当前路由的信息,我们需要添加注入ViewContext [HtmlAttribut ...

  6. git worktree同一个仓库多个分支并行开发和管理

    介绍 Git Worktree 是 Git 提供的一个功能,允许你在同一个仓库中同时工作在多个工作目录中,每个目录都有自己的工作树和索引.这对于同时处理多个分支或版本非常有用. 常用命令 命令 解释 ...

  7. 深入解析 Spring AI 系列:解析OpenAI接口对接

    今天我们将主要探讨OpenAI是如何进行接口对接的,虽然我们不打算深入细节,但会对整体流程进行一个大概的了解.后续会逐步分析其中的具体细节,大家可以耐心等待,逐步展开.好的,现在让我们开始,下面是我简 ...

  8. 【java提高】---细则(2)

    TreeSet(一) 一.TreeSet定义:      与HashSet是基于HashMap实现一样,TreeSet同样是基于TreeMap实现的.            1)TreeSet类概述 ...

  9. superset 其他相关设置

    重置账号密码: superset fab reset-password --username adminuser --password yourpassword 如 superset fab rese ...

  10. C# mysql 带参数语句

    带参数语句通常用于批量操作,例如批量插入. 截取一小段代码,修改后做一个简单的示例: 1. 表结构: CREATE TABLE `数据` ( `createtime` datetime NOT NUL ...