如何在AWX上安全地使用ssh私钥?
我在AWX上保存我的私有ssh密钥时遇到问题,我知道它是加密的,但它并不像我希望的那样安全 您知道在AWX中使用ssh私钥的安全方法吗如何在AWX上安全地使用ssh私钥?,ssh,ansible,ansible-awx,Ssh,Ansible,Ansible Awx,我在AWX上保存我的私有ssh密钥时遇到问题,我知道它是加密的,但它并不像我希望的那样安全 您知道在AWX中使用ssh私钥的安全方法吗 现在我使用默认的机器凭据,ssh由AWX加密并存储在postgres db中。最好不要在AWX上存储ssh,而只在需要时传递它(如果不可能,则在启动时提示)在AWX中完全不保留ssh凭据是可能的。为此,您必须进行一些调整。您不需要启动时提示选项。请记住,在作业模板中,ssh凭据是可选的。保存ssh凭据的最佳位置是在Ansible vault中,并且仅将vault
现在我使用默认的机器凭据,ssh由AWX加密并存储在postgres db中。最好不要在AWX上存储ssh,而只在需要时传递它(如果不可能,则在启动时提示)在AWX中完全不保留ssh凭据是可能的。为此,您必须进行一些调整。您不需要启动时提示选项。请记住,在作业模板中,ssh凭据是可选的。保存ssh凭据的最佳位置是在Ansible vault中,并且仅将vault凭据存储在AWX(作业模板)中。您需要检查如何定义凭据,并将这些信息从您的剧本/工作中移到您的清单中 以下是为实现这一目标所做的更改-
ansible_连接、ansible_用户、ansible_ssh_传递。Ansible理解ok,它必须使用Ansible_用户Ansible_ssh_pass通过ssh登录到机器。
这样,您就不必在AWX作业模板中提及凭据,并且在模板级别将机器凭据选项保留为空
下面是我在库存级别定义的变量的快照
我维护一个变量文件,即配置文件和vault,以便在运行时在剧本中呈现。您可以创建一个子目录,比如vars,并将清单变量中提到的作为值的变量映射到vars/var.yml文件。vars.yml可以将键定义为- ssh_secret_dev:“{{vault_secret_pass}}”
ssh\u user\u dev:username
加密的vault文件可以具有最终值- 金库密码:非常密码
您还可以使用您在库存中定义的任何变量(不是特殊的ansible变量),并在您的剧本中使用它们,这些剧本的值可以从变量文件中选取。您希望它有多安全?你怎么知道它不那么安全?现在有多安全?你怎么知道它有多安全?你用什么标准来判断某物有多安全?需要满足哪些安全要求?现在我使用默认的机器凭据,ssh由AWX加密并存储在postgres db中。最好不要将ssh存储在AWX上,而是只在需要时传递它(如果不可能,则在启动时提示),这很好。你能不能用更多的细节来更新你的问题。当前设置是什么。您的安全问题是什么。你想做什么不同的事。这将使人们更容易在特定点上分享他们的知识,而不是仅仅提供可能不适用于您的用例的一般、随机的信息。我知道的安全方法是在AWX中正确创建组织、团队和用户,明智地管理权限并确保AWX机密安装密钥的安全,以便授权用户之外的任何人都不能使用postgres数据库的内容。
- hosts: localhost
vars_files:
- ./vars/vault.yml
- ./vars/vars.yml
gather_facts: no
no_log: true
tasks:
- .....some tasks......