Hinzufügen mehrerer SSH-Schlüssel mit ansible
Ich habe ein Ansible-Skript geschrieben, um SSH-Schlüssel von Remote-Servern zu entfernen:
---
- name: "Add keys to the authorized_keys of the user ubuntu"
user: ubuntu
hosts: www
tasks:
- name: "Remove key #1"
authorized_key: user=ubuntu key="{{ item }}" state=absent
with_file:
- id_rsa_number_one.pub
- name: "Remove key #2"
authorized_key: user=ubuntu key="{{ item }}" state=absent
with_file:
- id_rsa_number_two.pub
...
Add jede Datei als eine andere Aufgabe ist absurd, so habe ich versucht mitwith_fileglob
:
- name: "Remove all keys at once"
authorized_key: user=ubuntu key="{{ item }}" state=absent
with_fileglob:
- /Users/adamatan/ansible/id_rsa*.pub
Aber dies schlägt mit Zeilen wie diesen fehl:
failed: [www.example.com] => (item = / Users / adamatan / ansible / id_rsa_one.pub) => {"failed": true, "item": "/Users/adamatan/ansible/id_rsa_one.pub "} msg: ungültiger Schlüssel angegeben: /Users/adamatan/ansible/id_rsa_one.pu
Die gleiche Schlüsseldatei wird mit einer eindeutigen Aufgabe erfolgreich entfernt, schlägt jedoch fehl, wenn sie Teil eines @ isfileglob
.
Wie kann ich SSH-Schlüssel mit ansible stapelweise hinzufügen oder entfernen?