首页 > 解决方案 > 运行 ansibleplaybook 时出现密码提示

问题描述

我是ansible的新手。我写了一个 ansible playbook 来安装 vnc。我想确保当有人运行剧本时会提示他们输入密码。我能够通过我放在一起的一些代码运行剧本,它会提示输入密码,但接受任何密码。

---
- hosts : test-server
  vars_prompt:

- name: password
  prompt: "What is your password?"
  private: yes

  tasks :
   - name : install tightvncserver
     package : pkg=tightvncserver state=installed

  notify:
   - start tightvncserver

  handlers :
   - name : start tightvncserver
     service : name=tightvncserver state=started

请原谅缩进。任何帮助将不胜感激

标签: ansible

解决方案


现在,这就是 ansible Vault 出现的地方。任何密码或其他机密信息都必须存储在 ansible vault 中。如果您不担心安全性,那么您可以简单地添加一个when模块来检查密码是否与特定字符串匹配,否则解决此问题的最佳方法是提示输入 ansible vault 密码并从那里获取机密信息。
或者,您也可以将密码作为键值存储在 yml 变量文件和include剧本中,并添加一个when条件来检查提供的密码是否等于该变量文件中提到的密码。


推荐阅读