--- - name: "Generate SSH keypair" hosts: all vars: ssh_privkey_path: /root/.ssh/id_rsa tasks: - name: "Detect existing SSH privkey" stat: path: "{{ ssh_privkey_path }}" register: ssh_privkey - name: "Detect existing SSH pubkey" stat: path: "{{ ssh_privkey_path }}.pub" register: ssh_pubkey - name: "Generate SSH keypair" shell: ssh-keygen -q -t rsa -b 4096 -f "{{ ssh_privkey_path }}" -N '' when: ssh_privkey.stat.exists == False or ssh_pubkey.stat.exists == False - name: "Generate SSH keypair" hosts: all become_user: jenkins vars: ssh_privkey_path: /var/lib/jenkins/.ssh/id_rsa tasks: - name: "Detect existing SSH privkey" stat: path: "{{ ssh_privkey_path }}" register: ssh_privkey - name: "Detect existing SSH pubkey" stat: path: "{{ ssh_privkey_path }}.pub" register: ssh_pubkey - name: "Generate SSH keypair" shell: ssh-keygen -q -t rsa -b 4096 -f "{{ ssh_privkey_path }}" -N '' when: ssh_privkey.stat.exists == False or ssh_pubkey.stat.exists == False