35 lines
925 B
YAML
35 lines
925 B
YAML
---
|
|
- name: Ensure .ssh folder is present for user {{ user.username }}
|
|
file:
|
|
path: "{{ user.home }}/.ssh"
|
|
state: directory
|
|
owner: "{{ user.username }}"
|
|
group: "{{ user.group|default(user.username) }}"
|
|
mode: 0700
|
|
|
|
- name: Generate the keypair for user {{ user.username }}
|
|
openssh_keypair:
|
|
path: "{{ user.home }}/.ssh/key"
|
|
type: ed25519
|
|
state: present
|
|
owner: "{{ user.username }}"
|
|
group: "{{ user.group|default(user.username) }}"
|
|
mode: 0600
|
|
force: no
|
|
|
|
- name: Place key in user's authorized_keys
|
|
copy:
|
|
src: "{{ user.home }}/.ssh/key.pub"
|
|
dest: "{{ user.home }}/.ssh/authorized_keys"
|
|
remote_src: yes
|
|
owner: "{{ user.username }}"
|
|
group: "{{ user.group|default(user.username) }}"
|
|
mode: 0600
|
|
force: no
|
|
|
|
- name: Fetch private key of {{ user.username }}
|
|
fetch:
|
|
src: "{{ user.home }}/.ssh/key"
|
|
dest: "/tmp/{{ user.username }}/"
|
|
flat: yes
|