Ansible: Ajouter plusieurs utilisateurs avec plusieurs clés publiques

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

Leave a Reply

avatar

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
Me notifier des
news for few, stuff no-one cares about