--- - name: Create ssh key when: - borg_install_method != "docker" block: - name: Create SSH key (if needed) for {{ borg_user }} block: - name: Ensure directory exist ansible.builtin.file: path: "{{ backup_user_info.home }}/.ssh/" state: directory mode: "0700" owner: "{{ borg_user }}" group: "{{ borg_group }}" - name: Generate an OpenSSH keypair when: not borg_ssh_private_key community.crypto.openssh_keypair: path: "{{ borg_ssh_key_file_path }}" mode: "0600" type: "{{ borg_ssh_key_type }}" owner: "{{ borg_user }}" group: "{{ borg_group }}" - name: Generate public key from private key content # Also ensure priv key content is sound when: borg_ssh_private_key delegate_to: localhost community.crypto.openssl_publickey: path: "{{ borg_ssh_key_file_path }}.pub" privatekey_content: "{{ borg_ssh_private_key }}" register: public_key - name: Copy provided OpenSSH private key when: public_key.succeeded ansible.builtin.copy: content: "{{ borg_ssh_private_key }}" dest: "{{ borg_ssh_key_file_path }}" mode: "0600" owner: "{{ borg_user }}" group: "{{ borg_group }}" - name: Read SSH key ansible.builtin.slurp: src: "{{ borg_ssh_key_file_path }}.pub" register: backup_local_ssh_key - name: Print key ansible.builtin.debug: msg: "The generated key is: {{ backup_local_ssh_key['content'] | b64decode }}" ...