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 }}"