ansible - 运行 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 Vault 出现的地方。任何密码或其他机密信息都必须存储在 ansible vault 中。如果您不担心安全性,那么您可以简单地添加一个when
模块来检查密码是否与特定字符串匹配,否则解决此问题的最佳方法是提示输入 ansible vault 密码并从那里获取机密信息。
或者,您也可以将密码作为键值存储在 yml 变量文件和include
剧本中,并添加一个when
条件来检查提供的密码是否等于该变量文件中提到的密码。
推荐阅读
- c# - 实体框架强制 id[key] 插入
- sockets - 关于 SSL_connect 和 HTTPS 的查询
- r - 创建一个新列以识别两列是否相同但在第三列中具有不同的值
- reactjs - .htaccess 如何使用参数重定向到 index.html 但参数值与文件夹名称相同
- python - 如何在嵌套列表中搜索列表的编号并在其他嵌套列表中获取其索引?
- php - 如何在php中解码?
- javascript - 从 for 循环中水平而不是垂直打印数字
- javascript - 使用 jquery 发送文件并在 PHP 中接收(无插件)
- python-3.x - Panda returns 50x1 matrix instead of 50x7? (read_csv gone wrong)
- flutter - 将 API 文本数据传递给其他 Page Flutter