# An example of cloning a private Git repo that requires ssh key. # The controller machine has the required key. # The key is transfered to the target machine. # Note: a more secure alternative is to use forwarding! - name: Ensure .ssh directory exists ansible.builtin.file: path: /home/{{ user }}/.ssh state: directory mode: "0700" owner: "{{ user }}" group: "{{ user }}" - name: Copy private key ansible.builtin.copy: src: ~/.ssh/id_rsa dest: /home/{{ user }}/.ssh/id_rsa mode: "0600" owner: "{{ user }}" group: "{{ user }}" - name: Clone config Git repo ansible.builtin.git: repo: "ssh://git@git.netclew.com/SomeRepo/HomeServerConfigs.git" dest: /tmp/myrepo version: main # Change to the correct branch or tag accept_hostkey: yes # Ensure local user is used, not sudo become_user: "{{ user }}"