2017-10-12 47 views
0

秘密鍵を秘密の鍵で暗号化し、それを安全なプレイブックの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

をあなたが達成しようとしているものを説明する気にしてください? – techraf

+0

'ssh-keygen'は秘密鍵を既に暗号化しています。 '不可能な金庫 'で暗号化する必要はありません。 sshキーのパスワードをクリアテキストファイルに書き込むのではなく、 'ssh-agent'を使用してください。 – ceving

+0

秘密鍵を生成するAWS EC2を使用していて、秘密鍵を使用して暗号化したい場合、不可能なプレイブックファイル全体が暗号化されているため – Igor

答えて

0

申し訳ありませんが、あなたは間違ったアプローチをとっています。

あなたが必要とするのは、鍵のパスフレーズを作成し、鍵を安全なボールトで暗号化しないことです。

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