Adding Authorized SSH Keys Using Ansible
You can easily manage and deploy multiple public SSH keys per user using Jinja templating within an Ansible playbook. Variable Definition (vars.yml) vars: ssh_user_key: - user: ritesh exclusive: no keys: - ritesh.centos - ritesh.fedora Ansible Task - name: Upload user authorized SSH keys authorized_key: user: "{{ item.user }}" exclusive: "{{ item.exclusive if item.exclusive is defined else 'no' }}" key: "{% for file_name in item['keys'] %}{{ lookup('file', file_name) }}{% if not loop.last %}{{ '\n' }}{% endif %}{% endfor %}" become: yes become_user: "{{ item.user }}" with_items: - "{{ ssh_user_key }}" tags: - setup-user-ssh-client-key