--- - name: Ensure that unprivileged user is present ansible.builtin.user: name: "{{ interactive_user }}" shell: /bin/bash home: "{{ interactive_home }}" password: "{{ interactive_password }}" groups: sudo create_home: true skeleton: /etc/skel append: true - name: Check the primary key for the unprivileged user ansible.posix.authorized_key: user: "{{ interactive_user }}" key: "{{ lookup('file', '../home/ssh-keys/' ~ interactive_user ~ '/' ~ interactive_user ~ '-yubi-1.pub') }}" state: present exclusive: false register: setkey - name: Re-set the primary key as exclusive, if we found that the key was not present yet # noqa: no-handler when: setkey.changed ansible.posix.authorized_key: user: "{{ interactive_user }}" key: "{{ lookup('file', '../home/ssh-keys/' ~ interactive_user ~ '/' ~ interactive_user ~ '-yubi-1.pub') }}" state: present exclusive: true - name: Set the secondary key for the unprivileged user ansible.posix.authorized_key: user: "{{ interactive_user }}" key: "{{ lookup('file', '../home/ssh-keys/' ~ interactive_user ~ '/' ~ interactive_user ~ '-yubi-2.pub') }}" state: present exclusive: false - name: Install required package to become unprivileged users ansible.builtin.apt: name: acl state: present