解密失败(无金库的秘密会发现,可以解密)
问题描述:
我安排我的CONFIGS到一个基于角色的目录结构。其中一些角色具有加密文本的默认变量文件。下面是一个失败的简化和测试任务列表:
---
- name: 'Include some additional variables'
include_vars:
dir: "{{playbook_dir}}/roles/foo/defaults/vars"
tags: 'debug'
- name: 'Debug: display the variables'
debug:
msg: "{{item}}"
with_items:
- "{{encrypted_text_from_yml_file}}"
tags: 'debug'
- name: 'Deploy Foo plugins'
block:
- name: 'Transfer the folder to the application directory'
synchronize:
src: 'some_src_folder'
dest: "{{some_unencrypted_text_from_another_yml_file}}"
archive: false
recursive: true
tags: 'debug'
我看到下面的错误,但是,在执行我的剧本时:
TASK [<some_app> : Transfer the <some_folder> folder to the application directory] **********************************************************************************
fatal: [<some_hostname>]: FAILED! => {"failed": true, "msg": "Decryption failed (no vault secrets would found t
hat could decrypt)"}
我的凭据正在从密码文件中检索。
在变量include和我所有加密的变量显示后,我立即抛出了一个调试任务。奇怪的是发生异常的任务块正在使用同步模块。从金库没有变数甚至正在使用...
任何想法如何解决这个问题?我将详细程度提高到-vvvv
,并没有看到任何明显的。
使用:ansible 2.4.0.0
答
我想通了这个问题。我意外地截断了一个加密的字符串group_vars/all。使用-vvvvv
(注意第五个v)实际上帮助揭示了一个HMAC问题。
请发布[MCVE](https://*.com/help/mcve) – techraf
我更新了我的问题,以包含一些可以重现此问题的示例代码。 –
如果您仅** **您发布的代码并在新机器上运行 - 是否会发生问题? – techraf