
私は、sudo を使用するサーバー グループで、cron から Ansible プレイブックを実行しようとしています (したがって、対話は不可能です)。インターネット上のいくつかのチュートリアルや投稿では、sudo パスワードをプレーンテキストで設定するか、Ansible-Vault を設定することを推奨しています (これも、プレーンテキストの ansible-valt パスワード ファイルをどこかに必要とするため、問題はありません)。sudo コマンドを実行するユーザーに対して sudoers ファイルに NOPASSWD を設定することを推奨する人もいますが、これも実行できません。これらのソリューションはすべて、セキュリティ上の懸念があります。
そこで、回避策があるのではないかと考えました。プレーンテキストのパスワードを、Ansible が復号化して読み取れる方法で暗号化するのでしょうか?
前もって感謝します!
答え1
Ansibleはパスワードがハッシュ形式であれば受け入れます。私はPythonを使ってハッシュパスワードを作成しました
python -c 'import crypt; print crypt.crypt("password", "$6$random_salt")'
python3 -c 'import crypt; print(crypt.crypt("password", crypt.mksalt(crypt.METHOD_SHA512)))'
交換するパスワードパスワードを入力すると、上記のコマンドの出力を Ansible タスクに貼り付けることができます。
- name: name
become: true
task:
password: hashed password