Ansible:更改SSH密钥

时间:2016-04-21 18:48:31

标签: ssh ansible ssh-keys

我有多个服务器的清单。使用PEM密钥文件可以保护对这些服务器的SSH访问。我想定期更改服务器使用的PEM密钥。所以,我想使用Ansible来做以下事情:

  1. 生成新的PEM密钥文件
  2. 对于清单中的每个服务器,使用旧的PEM密钥文件连接到服务器
  3. 安装新的PEM密钥文件
  4. 测试以确保SSH使用新密钥,旧密钥工作
  5. 通过Ansible做到这一点的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

你应该把它分成三个剧本。

第一个生成新的PEM密钥。这将在本地运行。请参阅:https://docs.ansible.com/ansible/playbooks_delegation.html#local-playbooks

第二个将进行推广。因此它将密钥复制到所有服务器。您可以使用authorized_keycopy,具体取决于您的首选工作流程。但那是另一个问题。

然后第三步是测试手册,可能带有断言语句或仅使用ping来确保连接正常。

当你将所有这些剧本合并为一个单独的包含或在正确的顺序中将这三个剧本添加到一个剧本中。请参阅:https://docs.ansible.com/ansible/playbooks_intro.html