加密文件

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. 利用Catalina快速重新指定tomcat的代码路径

    思路: 在/tomcat/conf/Catalina/localhost目录下,建立对应的xml文件,来定义. 方法: 比如:想在 Http://localhost/test-api 显示,且代码放在 ...

  2. 云数据备份 | MySQL、SQL Server 数据备份到 COS

    随着互联网高速发展,数据安全的重要性日趋明显.数据备份是企业应对系统故障的重要手段.数据备份可以提高系统的高可用性和灾难可恢复性,使用备份还原数据是系统崩溃时提供数据恢复最小代价的最优方案. 一.云数 ...

  3. TS 原理详细解读(7)绑定1-符号

    在上一节主要介绍了语法树的解析生成.就好比电脑已经听到了"你真聪明"这句话,现在要让电脑开始思考这句话的含义--是真聪明还是假聪明. 这是一个非常的复杂的过程,接下来将有连续几节内 ...

  4. Redis应用—9.简单应用汇总

    大纲 1.基于Redis实现的简单缓存机制(String数据结构) 2.实现一个最简单的分布式锁(String数据结构) 3.博客网站的文章发布与查看(String数据结构) 4.博客字数统计与文章预 ...

  5. 更改 macOS 用户帐户和个人文件夹的名称

    https://support.apple.com/zh-cn/HT201548 您可以对创建 macOS 用户帐户时命名的用户帐户和个人文件夹进行重命名.   您的 macOS 用户帐户名称和您个人 ...

  6. Qt音视频开发36-USB摄像头解码qcamera方案

    一.前言 除了监控专用的摄像头以外,有一些应用场景用的还是USB摄像头,甚至还有一些单片机或者开发板上用的CMOS摄像头,而Qt在嵌入式领域应用相当广,所以用Qt来读取加载显示USB摄像头和CMOS摄 ...

  7. 【OpenCV】features2d_converters.cpp:2:10: fatal error: common.h: 没有那个文件或目录

    Linux环境下使用opencv的dnn模块调用yolov4遇到的坑(纯CPU)一.问题描述Ubuntu安装opencv4.4,第一次编译完成安装成功,发现编译时少加了几个选项,于是重新编译,结果报如 ...

  8. 使用Visual Studio Code进行前端开发并运行前端页面时提示:npm WARN Local package.json exists, but node_modules missing, did you mean to install?

    使用Visual Studio Code进行前端开发并运行前端页面时提示如下错误: npm WARN Local package.json exists, but node_modules missi ...

  9. DVWA靶场Brute Force (暴力破解) 漏洞low(低),medium(中等),high(高),impossible(不可能的)所有级别通关教程及代码审计

    暴力破解 暴力破解是一种尝试通过穷尽所有可能的选项来获取密码.密钥或其他安全凭证的攻击方法.它是一种简单但通常无效率的破解技术,适用于密码强度较弱的环境或当攻击者没有其他信息可供利用时.暴力破解的基本 ...

  10. 【狂神说Java】Java零基础学习笔记-异常

    [狂神说Java]Java零基础学习笔记-异常 异常01:Error和Exception 什么是异常 实际工作中,遇到的情况不可能是非常完美的.比如:你写的某个模块,用户输入不一定符合你的要求.你的程 ...