我需要在期望脚本中使用我的 --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 }}"
我希望在阅读“密码”提示时输入“密码”
我知道 become_user,不幸的是它对我的情况没有帮助,因为远程服务器要求输入密码 - 但它与 become_password 相同。
我尝试转储变量和环境,但找不到任何有用的东西。
谢谢,托拜厄斯
不可以。交互式成为密码不适用于 playbook。
一种替代方法是不使用,
--ask-become-pass
而是提供成为密码作为变量。将变量定义ansible_become_password
为查找表达式,它从您使用的任何秘密存储中获取密码。也将此 var 用于其他程序的密码。