If authorized_key doesn't work, try lineinfile (Python interpreter problem)

This commit is contained in:
Sven Velt 2024-03-12 21:45:13 +01:00
parent 4d95c09591
commit dbf35931c2

View file

@ -140,10 +140,30 @@
- name: Add SSH keys - name: Add SSH keys
block:
- name: "1st try: authorized_key module"
authorized_key: authorized_key:
user: root user: root
key: "{{ item }}" key: "{{ item }}"
loop: "{{ ssh_keys }}" loop: "{{ ssh_keys }}"
rescue:
- name: "2nd try: create ~/.ssh directory"
file:
path: /root/.ssh/
state: directory
owner: root
group: root
mode: 0700
- name: "2nd try: add key via lineinfile module"
lineinfile:
path: /root/.ssh/authorized_keys
line: "{{ item }}"
owner: root
group: root
mode: 0600
create: yes
backup: yes
loop: "{{ ssh_keys }}"
- name: "[BLOCK] when 'service_username' is set" - name: "[BLOCK] when 'service_username' is set"
@ -161,10 +181,36 @@
- name: Add SSH keys - name: Add SSH keys
block:
- name: "1st try: authorized_key module"
authorized_key: authorized_key:
user: "{{ service_username }}" user: "{{ service_username }}"
key: "{{ item }}" key: "{{ item }}"
loop: "{{ ssh_keys_service|default(ssh_keys) }}" loop: "{{ ssh_keys_service|default(ssh_keys) }}"
rescue:
- name: "2nd try: get homedir of user"
getent:
database: passwd
key: "{{ service_username }}"
split: ":"
- name: "2nd try: create ~/.ssh directory"
file:
path: "{{ getent_passwd[service_username][4] }}/.ssh/"
state: directory
owner: "{{ service_username }}"
group: "{{ service_username }}"
mode: 0700
- name: "2nd try: add key via lineinfile module"
lineinfile:
path: "{{ getent_passwd[service_username][4] }}/.ssh/authorized_keys"
line: "{{ item }}"
owner: "{{ service_username }}"
group: "{{ service_username }}"
mode: 0600
create: yes
backup: yes
loop: "{{ ssh_keys }}"
- name: Install sudo - name: Install sudo