我对 Ansible 库存有疑问。是否可以从 MySQL 数据库而不是文件加载 list ?我正在寻找在调用剧本时指定存储在 My SQL 数据库中的主机 ssh key 。采用这种方法的原因是,根据我的理解,为了通过 ansible 提供主机,应该将 ssh key 添加到已知的主机文件中,以避免密码提示并启用基于 key 的登录。在完全自动化的环境中,我想避免密码输入和将密码存储在文件中有明显的安全问题。
最佳答案
是的,您可以使用 Ansible 的 dynamic inventory从任何地方加载库存数据。查看 AWS list 脚本,了解为实例列表调用 API 的示例。
The reason for this approach is that as per my understanding, in order to provision a host machine through ansible the ssh key should be added to the known hosts file to avoid the password prompt and enable key based login.
不一定。如果您使用的是像 AWS 这样的实例经常来来去去的东西,您可以使用 host_key_checking=False
在 Ansible 配置中关闭主机 key 检查。 .这具有您应该注意的安全隐患,但在处理短期实例(如您在 AWS 上看到的实例)时非常常见。
In a fully automated environment I want to avoid the password entry and storing password in a file has obvious security issues.
需要注意的是 Ansible 有一个 encrypted vault你可以使用密码。不过,基于 key 的身份验证通常是可行的方法。
关于mysql - 来自 MySQL DB 的 Ansible list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29212481/