使用ansible-vault加密Ansible Playbook .pem私钥

时间:2017-10-12 10:34:51

标签: amazon-web-services amazon-ec2 ansible pem

有没有办法用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实例。

1 个答案:

答案 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