首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过bash脚本在“交互模式”中使用ansible-bash

通过bash脚本在“交互模式”中使用ansible-bash
EN

Stack Overflow用户
提问于 2018-04-10 01:19:57
回答 1查看 5.6K关注 0票数 1

我非常喜欢在命令行上使用ansible-vault轻松地加密/解密文件。例如,如果我有一个名为~/fizzbuzz.foo的明文文件,其内容如下:

代码语言:javascript
复制
bupo

我可以这样使用这个工具:

代码语言:javascript
复制
ansible-vault encrypt ~/fizzbuzz.foo
New Vault password: 123
Confirm New Vault password: 123

砰-加密了!当我现在vi ~/fizzbuzz.foo

代码语言:javascript
复制
$ANSIBLE_VAULT;1.1;AES256
36663138613666623730653164333138343133383233313562363733346461663334393932393461
6535316532366130316237633633663565663366323162660a666630613738363035343663353132
33383530653235393431633231313765656135626538353163323366363039633836613265383332
3762666261326466370a643164393166346634343636346634383039356665646531353062303765
3734

我想在bash脚本中使用它,将加密/解密密码作为脚本参数传递:

代码语言:javascript
复制
#!/bin/bash

# do some stuff

ansible-vault -i "bar" encrypt ~/fizzbuzz.foo

# do some more stuff

但是,我没有看到任何类似于交互式(例如-i)的参数/ ansible-vault模式。我能找到的最好的是一种使用env文件为ansible-playbook实用程序存储密码的方法,但我使用了ansible-vault,但找不到类似的行为。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-10 01:59:54

您需要首先创建保险库密码文件,下面是如何:

openssl rand -base64 512 |xargs > vaultkeyfile

我正在本地目录下创建保险库文件,但您可能希望将其放置到另一个目录中,例如~/..ansible_ for /。

然后,要创建/加密/解密文件,可以使用:

对于新文件:

ansible-vault create testfile.txt --vault-password-file=vaultkeyfile

用于加密现有文件:

ansible-vault encrypt testfile.txt --vault-password-file=vaultkeyfile

用于解密:

ansible-vault decrypt testfile.txt --vault-password-file=vaultkeyfile

在执行上述操作时,您会注意到它不需要密码。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49743856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档