--- - 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