2016-04-21 176 views
2

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

  1. 生成新的PEM密钥文件
  2. 对于我的库存每台服务器上,使用旧的PEM密钥文件
  3. 安装连接到服务器的新的PEM密钥文件
  4. 测试,以确保与新的重点工作SSH和旧钥匙工作

什么是通过Ansible做到这一点的最好方法是什么?

回答

1

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

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

第二个将执行部署。所以它将密钥复制到所有服务器。根据您首选的工作流程,您可以使用authorized_keycopy。但那是另一个问题。

第三步然后是一个测试剧本,可能带有assert语句或者只是使用ping来确保连接正常工作。

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

+0

谢谢。这看起来很棒!我会试试看。 – Raj