我正在开发一个 Ansible 剧本来自动化我们的服务器配置,但我遇到了一个难题,我不知道该如何处理。在我的本地系统上,我生成了一个 SSH 密钥对以在我的远程主机上使用。然后我在远程主机上手动设置一个 ansible 用户并将我的 ansible 公钥复制到他们身上。现在,Ansible 可以在没有密码的情况下与我的远程主机进行身份验证。完美。
我的问题是,这个剧本将存储在 git repo 中并在团队之间共享。如果团队中的某个人对剧本进行了更改并希望针对我们的远程主机运行它,他们将无法做到,因为他们没有远程“ansible”用户的私钥。
处理这种情况的正确方法是什么?
答案1
正如评论中所述,处理此问题的正确方法是将public ssh key
每个开发人员的添加到远程 Ansible 用户。这可以通过使用 Ansible 来完成授权密钥像这样的模块:
- name: Set up authorized keys for ansible user.
authorized_key:
user: ansible
state: present
key: '{{ item }}'
with_file:
- public_keys/doe-jane
- public_keys/doe-john
(我不喜欢没有可接受答案的问题,因为答案在评论中......)