ボルトパスワードファイルが設定されているにもかかわらず、暗号化されたAnsibleファイルを復号化できないのはなぜですか?


7

このQ&Aのフォローアップ。

これとこのドキュメントによるとvault_password_file = ~/.vault_pass.txt、次のファイルのいずれかを指定することにより、デフォルトのボールトパスワードファイルを定義できるはずです。

* ANSIBLE_CONFIG (an environment variable)
* ansible.cfg (in the current directory)
* .ansible.cfg (in the home directory)
* /etc/ansible/ansible.cfg

パスワードファイルが存在し、ログに、定義を含むansible.cfgが使用されていることが示されますが、復号化は失敗します。

user@host$
Using /etc/ansible/ansible.cfg as config file
ERROR! Decryption failed on /path/to/ansible/group_vars/production/vault

討論

  • このボールトのパスは正しいですか?

はい。--vault-password-file=~/.vault_pass.txt復号化を使用してansibleが実行されると、成功します。

  • 明確にするために、環境変数の名前はANSIBLE_VAULT_PASSWORD_FILEですよね?

いいえ。この変数を使用すると機能しますが、目的は、を設定してansible.cfgに設定すること/etc/ansible/ansible.cfgです。

  • どのAnsibleバージョンが使用されていますか?

    user@host:/dir$ ansible --version
    ansible 2.2.2.0
        config file = /etc/ansible/ansible.cfg
        configured module search path = Default w/o overrides
    
  • 設定でフルパスを使用できますか?

の代わりにフルパスを指定した~場合、つまり/home/user/.vault_pass.txt指定した場合も、復号化は失敗します。


1
明確にするために、環境変数の名前はANSIBLE_VAULT_PASSWORD_FILEですよね?
13 dimitar 2017年

そして、何の出力echo $ANSIBLE_VAULT_PASSWORD_FILEですか?
13 dimitar 2017年

使用しようとしたので空ですvault_password_file = ~/.vault_pass.txt
030

変数名は大文字と小文字が区別されます
13dimitar 2017年

これはansible.cfgで設定されます。私は環境変数を使用していません
030

回答:


1

それが失敗した理由は不明ですが、設定vault_password_file = ~/.vault_pass.txtでは/etc/ansible/ansible.cfg十分でした。


1

復号化に失敗する原因となっているAnsible / Pythonの問題を発見しました。

具体的には、Ubuntu 18.04のPython 3.6.8でのAnsible 2.7.10と2.7.13 ansible-vault edit -vvvvvは、同じAnsibleバージョンのPython 3.7.2を使用してmacOS 10.13でOKを復号化したファイルと同じボールトファイルを復号化しません(を使用)。

UbuntuでPython 3.7.3にアップグレードすると(apt-get install python3.718.04で使用)、これが修正されました。

問題は異なる場合がありますが、Python 3.6以下の場合は、3.7にアップグレードしてみます。


-1

ドキュメントによると、

ANSIBLE_VAULT_PASSWORD_FILE環境変数を設定することもできます(例:ANSIBLE_VAULT_PASSWORD_FILE =〜/ .vault_pass.txt)。Ansibleはそのファイルでパスワードを自動的に検索します。

まったく同じケースを使用していることを確認します。


1
あなたは質問を見逃しています、それは特別に設定ファイルのプロパティについてです、それは質問に文字通り述べられています、それを注意深くもう一度読んでください
Tensibai
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.