diff options
Diffstat (limited to 'ansible/roles')
-rw-r--r-- | ansible/roles/setup/defaults/main.yml | 3 | ||||
-rw-r--r-- | ansible/roles/setup/tasks/main.yml | 30 |
2 files changed, 33 insertions, 0 deletions
diff --git a/ansible/roles/setup/defaults/main.yml b/ansible/roles/setup/defaults/main.yml new file mode 100644 index 00000000..e7e89721 --- /dev/null +++ b/ansible/roles/setup/defaults/main.yml @@ -0,0 +1,3 @@ +--- +ssh_dir: ~/.ssh +offline_ssh_key_file_name: offline_ssh_key
\ No newline at end of file diff --git a/ansible/roles/setup/tasks/main.yml b/ansible/roles/setup/tasks/main.yml new file mode 100644 index 00000000..5ffcbab9 --- /dev/null +++ b/ansible/roles/setup/tasks/main.yml @@ -0,0 +1,30 @@ +--- +- name: "Check and generate key if needed" + block: + - name: ssh dir + file: + path: "{{ ssh_dir }}" + state: directory + mode: 0700 + + - name: check ssh pub key exists + stat: + path: '{{ private_key }}.pub' + register: p + + - name: generate ssh keys + command: ssh-keygen -f {{ private_key }} -t rsa -N '' + when: not p.stat.exists + vars: + private_key: "{{ ssh_dir }}/{{ offline_ssh_key_file_name }}" + delegate_to: localhost + run_once: true + +- name: Setup authorized_keys file + authorized_key: + user: root + state: present + key: "{{ lookup('file', public_key) }}" + become: true + vars: + public_key: "{{ ssh_dir }}/{{ offline_ssh_key_file_name }}.pub" |