如果你长期使用亚马逊 Web 服务(AWS)中的实例,你可能会遇到下面这个常见的问题,它不是因为技术性的原因导致的,更多的是因为人类追求方便舒适的天性:当你登录一台你最近没有使用的区域的新实例,你最终会创建一个新的 SSH 密钥对,久而久之这最终就会造成个人拥有太多密钥,导致管理起来复杂混乱。
本文将会介绍一种在所有区域中使用你的公钥的方法。最近,一篇 Fedora Magazine 的文章介绍了另一种解决方案。但本文中的解决方案可以进一步的以更简洁和可扩展的方式实现自动化。
假设你有一个 Fedora 30 或 31 系统,其中存储了你的密钥,并且还安装了 Ansible。当这两件事同时满足时,就提供了解决这个问题的办法,甚至它还能做到更多。
使用 Ansible 的 ec2_key 模块,你可以创建一个简单的 Ansible 剧本来在所有区域中维护你的 SSH 密钥对。如果你需要增加或者删除密钥,在 Ansible 中这就像从文件中添加和删除行一样简单。
设置和运行 Ansible 剧本
如果要使用剧本,首先需要安装 ec2_key
模块的必要依赖项:
$ sudo dnf install python3-boto python3-boto3
该剧本很简单:你只需要像下面的例子一样,修改其中的密钥及其对应的名称。然后,运行该剧本,它会帮你遍历所有列出的公共 AWS 区域。该示例还包括一些你可能要访问的受限区域,只需根据需要来取消对应行的注释,然后,保存文件重新运行剧本即可。
“`
via: https://fedoramagazine.org/using-ansible-to-organize-your-ssh-keys-in-aws/
作者:Daniel Leite de Abreu 选题:lujun9972 译者:hj24 校对:wxy
主题测试文章,只做测试使用。发布者:eason,转转请注明出处:https://aicodev.cn/2019/12/08/%e5%9c%a8-aws-%e4%b8%ad%e4%bd%bf%e7%94%a8-ansible-%e6%9d%a5%e7%ae%a1%e7%90%86%e4%bd%a0%e7%9a%84-ssh-%e5%af%86%e9%92%a5/