当提示输入密码时,如何将密码传递给我的 python 脚本。我不希望用户在提示时输入密码。它应该直接从脚本传递。
subprocess.run(['ansible-vault', 'decrypt', 'main.yml', 'linux.yml','--ask-vault-pass'])
在运行脚本时,它会提示输入密码。我希望密码仅从脚本传递,而不是由用户传递或传递密码文件。有没有办法在这里传递密码?我有其他 ansible 保险库选项,如保险库密码等,但这不符合我的目的。
最佳答案
而不是使用 cmdline ansible-vault
,您可以使用 Python 包 - ansible-vault这将允许您在脚本本身内硬编码密码:
from ansible_vault import Vault
vault = Vault('password')
main_data = vault.load(open('main.yml').read())
linux_data = vault.load(open('linux.yaml').read())
当您在代码中硬编码密码时,请确保不要将此代码提交到任何地方或将其发送给任何人,这是一个严重的安全风险。
关于python - 在提示时将密码传递给 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67264410/