![在变量中使用 ansible --ask-become-pass](https://linux22.com/image/765949/%E5%9C%A8%E5%8F%98%E9%87%8F%E4%B8%AD%E4%BD%BF%E7%94%A8%20ansible%20--ask-become-pass.png)
我需要在期望脚本中使用我的 --ask-become-pass 密码。有没有办法在变量中使用启动 ansible_playbook 时输入的密码?
伪代码:
# ansible-playbook --become --ask-become-pass -i testing master.yml
BECOME password: secretpassword
然后在任务中
- name: use pw variable in task
expect:
command: /bin/bash -c "/usr/bin/my_command"
responses:
Password: "{{ prompted_pass }}"
在阅读“密码”提示时,我希望输入“secretpassword”
我知道 become_user,不幸的是它对我的情况没有帮助,因为远程服务器要求输入密码 - 但它与 become_password 相同。
我尝试转储变量和环境,但没有找到任何有用的东西。
谢谢,托比亚斯
答案1
不可以。剧本中不提供交互式成为密码。
另一种方法是不使用,--ask-become-pass
而是将密码作为变量提供。将变量定义ansible_become_password
为查找表达式,从您使用的任何秘密存储中获取密码。还将此变量用于其他程序的密码。