问题标签 [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 回答
174 浏览

git - 当我尝试 git-log ansible-vault 文件时,我不断收到密码提示

我按照这里的说明进行操作:

如何区分 ansible Vault 更改?

但我不断收到输入 ansible-vault 密码的提示。

这是我运行的提示输入保管库密码的命令:

git log -p staging.yml

我究竟做错了什么?我尝试将寻呼机作为猫放入,而不是像评论显示的那样,它仍然提示输入保险库密码......有人可以告诉我我做错了什么吗?我正在使用mac os x sierra ...

0 投票
1 回答
1131 浏览

ansible - 加密 ansible 库存文件

我想使用 ansible vault 加密我的 ansible 库存文件,因为它包含 IP/密码/密钥文件路径等,我不想将其保持为可读格式。

这是我尝试过的。

我的文件夹结构如下所示

环境/主机

env/hosts_details(我要加密的文件)

测试.yml

不加密的执行成功运行,没有任何错误

当我使用 files/vault_pass.txt 中的 vault 文件加密我的 env/hosts_details 文件然后执行 playbook 时,我收到以下错误

我想知道我是否遗漏了任何东西,或者是否可以加密库存文件。

有没有其他替代方案?

0 投票
0 回答
470 浏览

pycharm - Pycharm 在使用 ansible-vault 打开的选项卡中编辑文件

我有使用ansible-vault加密的 ansible 文件。我想从 IDEA IDE(在本例中为 pycharm)中解密、编辑和保存加密的这些文件。

我在 pycharm 中创建了一个外部工具,它将解密文件并在 IDE 的运行窗口中打开它们,看起来像是一个 tmp 文件。我需要将工具的输出放置在编辑选项卡中并将其保存到同一文件中。

以下是我创建外部工具的方式:

首选项 -> 外部工具 -> 新建

Vault_edit.sh

run窗口显示解密的输出,但它当然不允许我编辑文件,更不用说保存它了。我找不到任何关于如何将 ansible-vault 的输出推送到 pycharm 中的选项卡式编辑窗口的文档。

它显示的输出如下:

如果我能做到这一点,我计划做类似的事情来允许对文件进行加密。

0 投票
2 回答
776 浏览

encryption - ansible 是否安全地传输文件?

我正在使用 Ansible 2.2 从我的笔记本电脑管理一些云服务器。我想将 OpenSSL 私钥传输到其中一台服务器上的特定位置,以供 nginx 用于 TLS 终止。当然,这是一个应该保密的文件,所以我使用Ansible Vault对其进行了加密。但是 Vault 只保护控制机上的磁盘文件。将数据从控制机传输到受管节点时,它不会发挥作用。

我想确保私钥在传输过程中不会被监控网络流量的人泄露。没有具体提及我在模块文档中copy可以看到的我正在寻找的内容。据我所知,我与托管节点的所有通信都是通过 SSH 完成的。这是一个安全的假设吗?它包括文件传输吗?

0 投票
1 回答
261 浏览

variables - Ansible 变量优先级和保险库

我正在修改我的 ansible 库存以使用 ansible-vault。一切正常,但是我有一个问题,我认为变量的优先级。当我尝试与 ansiblemaster ( localhost 127.0.0.1 )建立本地连接时,它似乎使用的是全局配置的 sudo 密码,而不是 host_vars 中的密码

这是我的设置:

  • 主机.ini
  • group_vars/all/config.yml
  • group_vars/all/secrets.yml
  • host_vars/ansiblemaster

所以我在 group_vars/all/config.yml 中定义了这个:

我在 host_vars/ansiblemaster 中定义了这个:

我不断得到:

密码:\nsudo:1 次错误密码尝试\n" 当我运行一个建立本地连接并执行 sudo 的剧本时。

我在 host_vars/ansiblemaster 中的定义不会覆盖 group_vars/all/config 吗?

0 投票
1 回答
1926 浏览

ansible - Vagrant 调用的 Ansible 不提示输入保险库密码

概括

我有一个使用 Ansible 配置 Virtualbox VM 的 Vagrantfile。Ansible playbook 包含一个 Ansible Vault 加密变量。我的问题是 Vagrant 配置不会提示输入密码,尽管我通过了这样做的选项。

最小的,完整的例子

流浪文件:

剧本.yml:

Ansible Vault 密码是abc.

当我调用vagrant upVagrantfile 的第一次执行或稍后执行时,vagrant provision没有得到预期的输入密码的提示。相反,该任务会print foo's value打印(红色)消息:

我还尝试了 Vagrantfile 中被淘汰的替代方案,以使 Ansible 提示输入密码。ansible-playbook我可以在Vagrant 打印的电话中看到所有这些。

foo此外,我在使用 加密时尝试了几个选项ansible-vault encrypt_string,但这也没有帮助。

当使用 Vagrant 调用时,我该怎么做才能让 Ansible 提示输入密码?

版本

  • 库本图 16.04
  • 流浪者 1.8.1 和流浪者 2.0.0
  • Ansible 2.4.0.0

更新

这是 Vagrant 打印的 Ansible 调用:

如果我在没有 Vagrant 的情况下直接执行此操作,密码提示将按预期工作!所以它一定是 Vagrant,它以某种方式抑制了提示。

0 投票
1 回答
940 浏览

ansible - ansible-vault:可能*不*解密文件

我想使用 ansible 部署加密(通过 ansible-vault)文件而不提供保管库密码。文件应保持加密状态,仅在需要时在服务器上解密(使用单独的脚本)。

这有可能吗?

更多解释:我正在使用 Ansible 脚本来设置 CI 服务器(bamboo、jenkins)。密码不应该以纯文本形式存在于该服务器上,当用于增加另一层安全性时,它们应该被即时解密。

0 投票
2 回答
7541 浏览

jenkins - 启动包含来自 jenkinsfile 的 Vault 文件引用的 Ansible playbook

我有一个 Jenkinsfile 试图启动一个 Ansible 剧本,它引用了一些存储在 Ansible 保险库加密文件中的参数。

Ansible 安装在 2.4.0.0 版本中

这是我的詹金斯文件的片段:

还有剧本:

该剧本包括包含加密值的保管库文件。当 Jenkins 执行 Jenkinsfile 时,我收到以下错误: Attempting to decrypt but no vault secrets found

为什么 ansible 不使用我在 Jenkinsfile 中传递给他的 credentialId 以及传递此凭据的好方法是什么?

0 投票
1 回答
1604 浏览

ansible - Ansible 使用“替代目录布局”并使用保管库

我正在尝试在其中使用替代目录布局和 ansible-vaults。但是当我运行我的剧本时,经过保险库加密的变量无法使用该目录结构解析。那么我做错了什么?

我通过以下方式执行:

这是我的结构:

这是我的主机文件(inventories/inv/hosts):

剧本(playbooks/inv/invTest.yml):

使用 Vault 加密的 var ( roles/test/tasks/main.yml) 的角色:

指向保险库的 var (inventories/inv/group_vars/var.yml):

保险库文件 ( ansible-vault edit inventories/inv/group_vars/vault.yml):

我得到的错误消息是这样的:

失败的!=> {"failed": true, "msg": "'args' 字段的值无效,似乎包含未定义的变量。错误为:{{ app_user }}: 'app_user' 未定义\ n\n错误似乎出现在“roles/test/tasks/main.yml”中:但可能\n在文件中的其他位置,具体取决于确切的语法问题。\n\n有问题的行似乎是:\n\n \n - 名称:创建测试文件夹\n ^ here\n"}

0 投票
1 回答
5504 浏览

hash - 未检测到 group_vars 中的 Ansible 保险库密码

我正在尝试使用 ansible-vault 来保护单个 Windows 登录密码。我不想将 hte 密码作为纯文本放在我的 windows.yml 文件中(见下文),所以我试图用它ansible-vault来保护/加密这个密码。

我有这个目录结构:

我的问题是关于文件vault根据本教程,我正在尝试将 Windows 登录密码作为加密变量放置在这里。变量名是ansible_password,我的想法是我应该在vault文件中有一个哈希,而不是文本中的实际密码。

我的windows.yml文件如下所示(按照此处的指南):

现在,要创建vault文件,这是我的步骤:

然后这是我放入vault文件的所有内容:

当我使用 运行此文件时ansible-playbook -i ./hosts win_playbook.yml --ask-vault-pass,出现此错误(问题 A):

因此,我尝试生成哈希而不是使用文本。我这样做了:

我用这个哈希替换了文本 mypassword 。我在编辑器中粘贴了哈希vi并保存了vault文件。同样,我使用ansible-playbook -i ./hosts win_playbook.yml --ask-vault-pass. 这次我得到了一个不同的错误(问题 B):

为了克服这个问题,我必须做两件事:

  1. 要解决问题 A.:在 中win_playbook.yml,我需要添加vars_files: group_vars\vault,有点类似于这个StackOverflow 帖子。
  2. 要解决问题 B.:我必须用vault文本中的实际密码 (mypassword) 替换散列。

问题:

  1. 关于 A:在我遇到的 ansible vault 教程中,我没有看到为什么vars_file: group_vars\vars应该出现在主剧本文件中的特定原因(请参见下面的链接 1-4)。即任何地方都没有提到这一点。我以为 Ansible 会自动检测group_vars目录中的变量???为什么需要这条线?

    1. https://serversforhackers.com/c/ansible-using-vault
    2. https://www.digitalocean.com/community/tutorials/how-to-use-vault-to-protect-sensitive-ansible-data-on-ubuntu-16-04
      • 这些人使用group_vars/vars(类似于我的未加密变量文件group_vars/vars)和group_vars/vault(类似于我的加密变量文件group_vars/vault),但他们使用的是角色,而我没有使用 Ansible 角色
    3. https://knpuniversity.com/screencast/ansible/variable-vault
    4. https://opensource.com/article/16/12/devops-security-ansible-vault
  2. 关于 B:它看起来像其他用户(见这里使用哈希作为他们的变量)。实际上,即使是 Ansible 文档也建议使用它mkpasswd来生成密码。也许我误解了什么。我们不应该使用mkpasswd --method=SHA-512散列密码然后将散列作为变量值吗?不能使用哈希作为文件中 key:value 中的值vault吗?