用Ansible实现智能密码功能
首先
本文是为了那些在使用Ansible时对于需要输入SSH登录密码或者sudo执行密码等密码输入问题感到困惑的人而写的一篇文章。
解决方案
指定时在playbook命令执行时通过参数(以交互形式输入)
请用native Chinese重新表述以下句子,只需要提供一种表述方式:
” $ ansible-playbook sample.yml -i hosts –ask-pass –ask-sudo-pass”
执行以下命令,使用ansible-playbook运行sample.yml文件,并在hosts文件中指定主机。同时,询问密码和sudo密码以获得权限。
2. 对于那些觉得在ansible.cfg文件中设置参数太麻烦的人(提供以下参数设置的方式)
ask_pass = True
ask_sudo_pass = True
使用Ansible Vault对密码进行加密并省略密码输入。
---
ansible_sudo_pass: hoge
ansible_ssh_pass: hogehoge
$ ansible-vault encrypt passwd.yml
Vault password:
Confirm Vault password:
Encryption successful
ask_vault_pass = True
在执行playbook命令时作为外部变量加载
$ ansible-playbook sample.yml -i hosts --extra-vars="@password.yml"
Vault password:
请参考以下网站
使用 Ansible 执行 sudo
(官方)ansible.cfg