Sanitized mirror from private repository - 2026-04-18 11:19:59 UTC
This commit is contained in:
39
ansible/automation/playbooks/add_ssh_keys.yml
Normal file
39
ansible/automation/playbooks/add_ssh_keys.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
- name: Ensure homelab's SSH key is present on all reachable hosts
|
||||
hosts: all
|
||||
gather_facts: false
|
||||
become: true
|
||||
|
||||
vars:
|
||||
ssh_pub_key: "{{ lookup('file', '/home/homelab/.ssh/id_ed25519.pub') }}"
|
||||
ssh_user: "{{ ansible_user | default('vish') }}"
|
||||
ssh_port: "{{ ansible_port | default(22) }}"
|
||||
|
||||
tasks:
|
||||
- name: Check if SSH is reachable
|
||||
wait_for:
|
||||
host: "{{ inventory_hostname }}"
|
||||
port: "{{ ssh_port }}"
|
||||
timeout: 8
|
||||
state: started
|
||||
delegate_to: localhost
|
||||
ignore_errors: true
|
||||
register: ssh_port_check
|
||||
|
||||
- name: Add SSH key for user
|
||||
authorized_key:
|
||||
user: "{{ ssh_user }}"
|
||||
key: "{{ ssh_pub_key }}"
|
||||
state: present
|
||||
when: not ssh_port_check is failed
|
||||
ignore_unreachable: true
|
||||
|
||||
- name: Report hosts where SSH key was added
|
||||
debug:
|
||||
msg: "SSH key added successfully to {{ inventory_hostname }}"
|
||||
when: not ssh_port_check is failed
|
||||
|
||||
- name: Report hosts where SSH was unreachable
|
||||
debug:
|
||||
msg: "Skipped {{ inventory_hostname }} (SSH not reachable)"
|
||||
when: ssh_port_check is failed
|
||||
Reference in New Issue
Block a user