amazon-ec2 - Terraform & Ansible 控制器和私钥分发
问题描述
我有一堆没有使用 IaC 配置的服务器,它们都可以通过 SSH 从我的本地计算机访问。我从 2-3 台本地机器访问这些服务器,并为每台本地机器创建不同的私钥。
我有大量其他基础设施需要配置,并考虑拥有一个云配置服务器,这样本地人就不需要 Terravision 和 Ansible,但很快意识到这意味着在服务器上拥有私钥,这很可能会让其他用户具有 sudo 访问权限。似乎最好的方法是继续使用所有本地私钥。
我最终会得到大量的服务器和更多的密钥对。我也可能会有其他人需要访问服务器。
- 我从本地机器进行配置的方法是最好的方法还是有替代方法?
- 人们如何大规模管理密钥 - 我遵循每个访问点的一组原则,以便可以在不影响其他访问点的情况下管理访问。我的 ~/.ssh/config 变得越来越大,感觉我应该从访问事实源生成它,特别是因为不同的人访问会有所不同。在这种情况下,其他人在做什么?
解决方案
看看 Hashicorp Vault。您的困境是创建 Hashicorp Vault 的原因之一。
我可以向您保证,不要随便使用 Vault。确保您对 Hashicorp Vault 的部署和管理有深入的了解。
我是 Dev/Ops 团队的一员,该团队在许多环境和区域、开发、QA、测试和生产环境中使用 vault。我个人没有管理它,所以我无法提供有关如何使用 Vault 的任何建议。
查看Vault Agent with AWS,了解有关 Vault 的信息。
我建议仅在测试环境中使用它,直到您完全确定,您知道管理保管库的过程。
哦,另一个链接,使用 Ansible Vault 加密内容
推荐阅读
- c - cs50 过滤器(模糊)分配(pset4)(已解决!)
- .htaccess - 如何将 /page/ 重定向到 page.html
- scala - PySpark 将 Dataframe 作为额外参数传递给映射
- java - Collection.reverse() 方法不适用于 Integer ArrayList
- stripe-payments - 从当月的第一个日期开始的条带订阅,初始费用
- java - 如何开发自定义 SonarQube 插件?
- c++ - std::shared_ptr
显示到文本浏览器? - .net - 使用反射 VB.NET 调用具有自定义类型参数的函数
- react-native - 如何在抽屉导航中创建菜单图标?反应原生
- javascript - 如何修复 Appendchild 不是函数且 JavaScript 中未定义变量?