48 lines
1.2 KiB
YAML
48 lines
1.2 KiB
YAML
---
|
|
# Tasks for SSH Key role
|
|
- name: Ensure SSH Directory exists
|
|
file:
|
|
path: "/home/{{ user }}/.ssh"
|
|
state: directory
|
|
group: "{{ user }}"
|
|
owner: "{{ user }}"
|
|
mode: 0700
|
|
|
|
- name: Check if id_ed25519 key exists
|
|
stat:
|
|
path: "/home/{{ user }}/.ssh/id_ed25519"
|
|
register: key_status
|
|
|
|
- name: No need to generate new id_ed25519 key
|
|
when: key_status.stat.exists == true
|
|
debug:
|
|
msg: No need to generate new rsa key as it already exists.
|
|
|
|
- name: Generate new rsa key
|
|
when: key_status.stat.exists == false
|
|
shell: ssh-keygen -t ed25519 -q -f /home/git/.ssh/id_ed25519 -C "Gitea Host Key" -N ""
|
|
|
|
- name: Ensure id_ed25519 key permissions
|
|
file:
|
|
path: "/home/{{ user }}/.ssh/id_ed25519"
|
|
group: "{{ user }}"
|
|
owner: "{{ user }}"
|
|
mode: 0600
|
|
|
|
- name: Ensure id_ed25519 public key permissions
|
|
file:
|
|
path: "/home/{{ user }}/.ssh/id_ed25519.pub"
|
|
group: "{{ user }}"
|
|
owner: "{{ user }}"
|
|
mode: 0644
|
|
|
|
- name: Add key to authorized_files
|
|
when: key_status.stat.exists == false
|
|
copy:
|
|
remote_src: yes
|
|
src: "/home/{{ user }}/.ssh/id_ed25519.pub"
|
|
dest: "/home/{{ user }}/.ssh/authorized_keys"
|
|
owner: "{{ user }}"
|
|
group: "{{ user }}"
|
|
mode: 0644
|