我在使用 Ansible 方面相当新,并且一直在阅读这里和谷歌,但还没有找到答案。
我的情况是我在服务器上有 1 个用户,但需要将 2-3 个不同的 pub 密钥放入它的 authorized_keys 文件中。
我可以成功删除所有密钥,或使用此脚本添加所有密钥:
---
- hosts: all
tasks:
- name: update SSH keys
authorized_key:
user: <user>
key: "{{ lookup('file', item) }}"
state: present
#exclusive: yes
with_fileglob:
- ../files/pub_keys/*.pub
它使用present
标志读取并添加所有键。使用该absent
标志,它会删除列出的所有键。
问题是我有一个只在服务器上的旧密钥,我想删除/覆盖它,并且为了将来的部署覆盖任何可能在服务器上而不是在我的剧本中的未经授权的密钥。
使用exclusive
标志它只需要最后一个键并添加它。如果它会循环并重复添加所有键,那就太棒了。如果在 Ansible 中有办法做到这一点,我还没有找到。
有什么方法可以遍历 pub 文件并同时使用该exclusive
选项?