在变量中使用 ansible --ask-become-pass

在变量中使用 ansible --ask-become-pass

我需要在期望脚本中使用我的 --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为查找表达式,从您使用的任何秘密存储中获取密码。还将此变量用于其他程序的密码。

相关内容