Ansible Playbook の暗号化された Sudo パスワード

Ansible Playbook の暗号化された Sudo パスワード

私は、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

関連情報