有没有办法用ansible-vault加密--private-key并使用Ansible Playbook ansible-playbook命令(或Playbook内部)加密?
我试过了,但它没有奏效:
$ ansible-vault create encrypted_ssh_key.pem --vault-password-file vault_password_file
(将我的SSH私钥粘贴到其中)
$ ansible-playbook ansible_playbook -i inventory/ec2.py \
-e ansible_ssh_user=ubuntu \
-e ansible_user=ubuntu \
--private-key=encrypted_ssh_key.pem \
--vault-password-file vault_password_file
它一直在问我一个密码,即使我输入密码(来自vault_password_file的密码),它也不接受它。通过使用该私钥,我可以毫无问题地登录EC2实例。
答案 0 :(得分:0)
很抱歉,你采取了错误的做法。
您需要为密钥创建密码,而不是使用Ansible Vault加密密钥。
openssl rsa -in ssh_key.pem -out encrypted_ssh_key.pem
给它一个密码,并在每次运行时提供密码(或者使用一些可以为你缓存密码的代理):
ansible-playbook ansible_playbook -i inventory/ec2.py \
-e ansible_ssh_user=ubuntu \
-e ansible_user=ubuntu \
--private-key=encrypted_ssh_key.pem