Vu que ça m’a pris un peu plus longtemps que je n’aurais voulu à trouver une syntaxe à peu près propre pour ajouter avec Ansible plusieurs utilisateurs sur un serveur, avec chacun plusieurs clés publiques SSH, voici comment j’ai fait:
dans login-vars.yml
users:
- login: "user1"
pass_hash: "$6$G1Q........"
pubkeys:
- "ssh-rsa AAAAB3N.....yBd1 user1@first-key"
- "ssh-rsa AAAAB3N.....eWDp user1@second-key"
- login: "user2"
pass_hash: "$6$G1A........"
pubkeys:
- "ssh-rsa AAAAB3N.....yCDd1 user2@first-key"
- "ssh-rsa AAAAB3N.....eaop user2@second-key"
dans roles/setup-users/main.yml
- name: configure user accounts
user:
name={{ item.login }}
append=yes
password={{ item.pass_hash }}
become: yes
with_items:
- "{{ shell_users }}"
- name: Add users public keys
authorized_key:
user={{ item.login }}
key="{% for key in item.pubkeys %}{{ key ~ "\n" }}{% endfor %}"
become: yes
with_items:
- "{{ shell_users }}"