【发布时间】:2016-12-17 04:24:24
【问题描述】:
我在使用 Ansible 方面相当新,并且一直在阅读 here 和 google,但尚未找到答案。
我的情况是我在服务器上有 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 选项?
【问题讨论】:
标签: ubuntu ansible ansible-playbook authorized-keys