Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cron ansible-加密ansible\u成为\u密码_Cron_Ansible - Fatal编程技术网

Cron ansible-加密ansible\u成为\u密码

Cron ansible-加密ansible\u成为\u密码,cron,ansible,Cron,Ansible,我有一个剧本,每天通过crontab中的条目运行一次。对于playbook中定义的一些任务,我需要成为目标机器上的root用户。因此,我使用been和ansible\u been\u pass来获得sudo特权。当我将其作为cronjob运行时,我不能使用——ask been pass。另一方面,我不想在ansible hosts文件中以纯文本形式存储sudo密码。我可以通过某种方式将加密密码传递给ansible吗?我遇到了类似的问题,我的最佳解决方案是创建一个脚本(用Python),每次启动时

我有一个剧本,每天通过crontab中的条目运行一次。对于playbook中定义的一些任务,我需要成为目标机器上的root用户。因此,我使用
been
ansible\u been\u pass
来获得sudo特权。当我将其作为cronjob运行时,我不能使用
——ask been pass
。另一方面,我不想在ansible hosts文件中以纯文本形式存储sudo密码。我可以通过某种方式将加密密码传递给ansible吗?

我遇到了类似的问题,我的最佳解决方案是创建一个脚本(用Python),每次启动时都会请求ansible valut密码(我会将该脚本放入crontab
@reboot
)。当我输入密码时,它将保存在一个变量中,从而在程序在后台运行时出现在内存中(要在后台运行,它将分叉并重定向stdoutstderr)。然后,脚本将使用Python“child”模块执行ansible playbook(或命令),并自动发送vault密码。每次ansible执行后,程序将休眠24小时


我只是想给你一个可能的解决办法。从技术上讲,这不是一个服务/守护进程,但也没有太大区别。

检查一下,这不只是转移了问题吗?最后,我需要调用
--询问vault pass
,这是我无法使用Cron的。如果您按照fernandezcuesta的建议使用ansible vault,您可以生成一个变量,并将其设置在您的playbook或vars文件中。然后,当您运行playbook时,您将发送一个额外的参数,该参数带有vault密码文件路径,该路径也经过加密,然后vault将管理哈希…ansible vault将满足您的要求。请检查链接**