问题标签 [ansible-vault]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
263 浏览

ansible - 在剧本中使用保险库

您好我正在尝试使用保险库运行以下剧本,但我似乎无法让它工作。

使用以下命令创建了一个 ansible Vault 文件:

在那里我有以下条目:

然后我有以下剧本:

当我尝试使用此 cli 命令运行它时

我每次都收到以下错误

更新

如果我将连接更改为 network_cli,现在我会收到以下错误:

0 投票
1 回答
209 浏览

ansible - Ansible Vault:加密以“-”开头的密码

我正在尝试使用 ansible-vault 加密密码“-abc”。它错误地说“没有这样的选择”。

错误如下,

版本:ansible 2.7.7;Ubuntu 18

它是我们系统中使用的合法密码,以“-”开头。

好心提醒。

0 投票
1 回答
591 浏览

encryption - 将加密变量与 Ansible-Vault 一起用于网络自动化

我在网络和 Youtube 上搜索了很多教程,但没有运气。

我想通过 Ansible 配置 Cisco 交换机,我已经设置好了,可以完美运行.. 但我想将密码(用于 vty 行、控制台、启用机密...)理想地存储在通过 Ansible-Vault 加密的主机文件中作为变量所以在我的 .yml 文件中我可以访问它们。我希望它们在 hosts 文件中,因为我们为 ASW、DSW 和 CSW 设置了不同的密码,因此更易于管理。

我在 CLI 中生成了加密变量:

我将值复制到/etc/ansible/hosts 中的变量:

config.yml 中:

现在,密码将设置为“!vault |” 我不确定这是否是最佳实践,我阅读了有关此的建议,但我能找到的只是服务器自动化,而不是网络。

我正在运行 Ansible 2.8.0

任何帮助表示赞赏,谢谢。

0 投票
1 回答
44 浏览

ansible - ansible-vault 可以用来向 vault 添加新的秘密吗

形成 ansible 文档 https://docs.ansible.com/ansible/latest/user_guide/vault.html 看来我们只能使用 ansible-vault 加密/解密文件。它不能向我的保管库实例添加新的秘密吗?

0 投票
1 回答
1519 浏览

ansible - Ansible http get 请求不起作用,但手动 curl get 有效

我的 ansible playbook 中有以下任务:

此任务失败并显示:

然而,当我卷曲时,我得到了正确的价值:

看起来像 ansible 不考虑标题。这里有什么遗漏吗?

我也试过:

我遇到了一些问题,它说标题可能会自动大写。所以也试过

与卷曲配合得很好。还尝试了邮递员,并注意到在邮递员中自动添加了一个授权标头,并带有值Basic Og==因此尝试添加该附加标头。但没有任何效果。

也尝试了 hash_vault 但得到了同样的错误:

0 投票
1 回答
3013 浏览

ansible - 如何使用 Ansible Vault 加密变量?

我正在尝试对我的敏感信息(例如密码等)使用加密。

问题是:如何使用ansible-vault来加密变量并在剧本中使用它们?

我知道如何加密字符串(如下所示),但我不知道如何在剧本中成功使用它。
原因是:我需要一些东西来“解密”变量,以便 ansible 可以理解。这些在哪里定义?

我努力了:

提示我的地方:

结果:

定义保险库变量vault_db_password

正在使用的 Vault 变量:

结果:

0 投票
2 回答
1708 浏览

ansible - 调试http post请求ansible

我的 ansible playbook 中有以下任务:

此任务不断失败:

同样的任务在另一台主机(kubernetes POD)上运行良好。我在一个新系统(docker容器)上运行它。客户端令牌已正确生成。我可以通过 curl 进行 POST,因此容器上没有网络问题。有什么方法可以调试正在传递的标头、正在命中的 url 等?我不知道缺少什么。

我没有使用 Vault cli。它都是基于 HTTP 的。

添加 -vvvv 后,这里是日志:

我尝试从同一个 pod 运行带有上述所有细节的 curl,它运行良好。

0 投票
2 回答
523 浏览

ansible - Ansible - 将变量指向 Vault 中的变量的语法

尝试使用 ansible-vault 来保存敏感密码,但我在剧本中找不到正确的语法来检索它。

文档提到(强调我的):

接下来,将所有敏感变量复制到 Vault 文件中,并为这些变量添加前缀 vault_。您应该使用 jinja2 语法调整 vars 文件中的变量以指向匹配的 vault_ 变量,并确保 vault 文件是 vault 加密的。

我创建了 Vault,但我对 yml 中的 jinja2 真的不够熟悉,无法为 vars.yml 文件找到正确的语法。

任何人都可以提供有关如何在剧本中指向变量“X”以获取保险库文件中变量“vault_X”的值的语法帮助?

0 投票
1 回答
602 浏览

ansible - 是否可以对 vault_password_file 中的密码进行哈希处理以获取 ansible?

我担心密码保险库文件以纯文本形式存储解密密码,但一直找不到任何解决方案。

今天我使用 ansible-vault encrypt 命令来加密我所有的变量。然后我创建了一个密码文件用于保管库密码,并将 ansible.cfg 中的 vault_password_file 行指向它。我不希望 ansible 系统上的用户每次运行 playbook 时都被提示输入 vault 密码,这就是我们选择这种方法的原因。

这一切正常,但我担心文件中的密码以纯文本形式存储。对我来说,它打败了加密其他信息的练习。我试图找到解决方案,但我找不到任何答案。

我想知道是否有任何方法可以在文件中散列密码,仍然允许 ansible 使用它进行解密?

有没有人有任何我可以探索的解决方案?

0 投票
1 回答
19580 浏览

ansible - ansible Vault 加密字符串

我正在尝试加密一些密码,但只想加密部分字符串而不是整个文件。所以有一个命令 ansible-vault encrypt_string 为您提供加密的输出,但是当我将它添加到我的 .yaml 剧本时,它无法解密。

用于加密简单密码的命令:

ansible-vault encrypt_string 'Test123!' --name 'ansible_password'

结果:

ansible_password: !vault | $ANSIBLE_VAULT;1.1;AES256 30333733643939646130396638646138636338636162316536313236666334656338306634353434 3132326265313639623039653261336265343733383730340a663565323932636138633365386332 36363534326263326633623238653464376637646632363839313464333830363436643561626534 6338613837393539350a383962663766373466376138376666393639373631313861663866333663 6137 Encryption successful

^

长字符串的格式有点笨拙

所以我试图将这个值放入我的剧本中,如下所示:

然后我想用命令执行剧本:

ansible-playbook copy.yaml -i hosts.ini

结果:

当我使用参数--ask-vault-password 运行剧本时:

ansible-playbook copy.yaml -i hosts.ini --ask-vault-pass

我试图以各种方式将输出加密,但每次由于此问题或语法问题而失败。

当从输出传递的方式输入时,我收到如下语法错误:

当所有内容都在同一行时,删除“|” 得到这个错误:

有任何想法吗?