【发布时间】:2016-08-15 03:41:59
【问题描述】:
我有多个服务器的清单。使用 PEM 密钥文件保护对这些服务器的 SSH 访问。我想定期更改我的服务器使用的 PEM 密钥。所以,我想用 Ansible 做以下事情:
- 生成新的 PEM 密钥文件
- 对于我库存中的每台服务器,使用旧 PEM 密钥文件连接到服务器
- 安装新的 PEM 密钥文件
- 进行测试以确保使用新密钥的 SSH 正常工作而旧密钥不起作用
通过 Ansible 执行此操作的最佳方法是什么?
【问题讨论】:
我有多个服务器的清单。使用 PEM 密钥文件保护对这些服务器的 SSH 访问。我想定期更改我的服务器使用的 PEM 密钥。所以,我想用 Ansible 做以下事情:
通过 Ansible 执行此操作的最佳方法是什么?
【问题讨论】:
你应该把它分成三个剧本。
第一个生成新的 PEM 密钥。这将在本地运行。见:https://docs.ansible.com/ansible/playbooks_delegation.html#local-playbooks
第二个将进行部署。因此它将密钥复制到所有服务器。您可以使用authorized_key 或copy,具体取决于您喜欢的工作流程。但那是另一个问题。
第三步将是一个测试手册,可能带有断言语句或仅使用 ping 来确保连接有效。
当您拥有所有这些剧本时,将它们组合成一个单一的包含或以正确的顺序将这三个剧本添加到一个剧本中。见:https://docs.ansible.com/ansible/playbooks_intro.html
【讨论】: