我正在开发一个Ansible操作手册来自动化我们的服务器configuration,但是我碰到了一块硬砖墙,我不知道该如何处理。 在我的本地系统上,我生成了一个在我的远程主机上使用的SSH密钥对。 然后我手动在远程主机上build立一个有用的用户,并将我的无用的公钥复制给他们。 现在,Ansible可以使用我的远程主机无需密码进行身份validation。 完善。
我的问题是,这个剧本将被存储在一个Git仓库,并在团队之间共享。 如果团队中的某个人对剧本进行了修改,并且想要对着我们的远程主机运行,那么他们将无法访问,因为他们没有“远程”用户的私钥。
处理这种情况的正确方法是什么?
正如评论中所述,处理这个问题的正确方法是将每个开发人员的public ssh key添加到远程Ansible用户。 这可以通过使用像这样的authorized_key模块使用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
(我不喜欢没有被接受的答案,因为答案在评论中…)