Ansible-Playbook 的加密 Sudo 密碼

Ansible-Playbook 的加密 Sudo 密碼

我正在嘗試使用 sudo 在一組伺服器上從 cron 運行 Ansible 劇本(因此不可能進行互動)。網路上的一些教學和貼文建議以明文形式設定 sudo 密碼,或設定 Ansible-Vault(這也需要在某處以明文形式提供 ansible-valt 密碼文件,所以沒有交易)。有些人建議在 sudoers 檔案上為執行 sudo 命令的使用者設定 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

相關內容