1

我有一个 .json 文件,我已使用 ansible Vault 成功加密该文件:

{
  "database": {
    "username": "root",
    "password": "mypassword",
    "host": "127.0.0.1:3306",
    "name": "database"
  }
}

加密:ansible-vault encrypt config.json

使用以下命令运行 ansible playbook:ansible-playbook -i hosts playbook.yml --ask-vault-pass

输入相同的密码,剧本运行,但文件在服务器上未加密。

有任何想法吗?

4

1 回答 1

1

不幸的是,您不能简单地加密文件然后将它们传输过来。有一些关于此的github 问题,但最终的解决方案是您必须将文件的加密内容存储在变量中或使用lookup插件获取文件内容并将它们远程放置。

加密变量应该是不言自明的。这是使用查找插件的快速示例:

- copy: 
    content: "{{ lookup('file', 'files/deepest/darkest/secrets') }}" 
    dest: /remote/unencrypted/destination
于 2015-10-24T20:09:31.830 回答