2 # Note: this playbook requires ansible-core >= 2.11
4 - name: Generate local known_hosts files using ssh-keyscan
9 ansible.builtin.command:
10 argv: "{{ ['ssh-keyscan' ] + all_hosts }}"
11 register: keyscan_results
12 - ansible.builtin.known_hosts:
14 name: "{{ keyscan_host }}"
15 key: "{{ keyscan_key }}"
16 when: keyscan_results.rc == 0
18 keyscan_host: "{{ item | split(' ') | first }}"
19 keyscan_key: "{{ item }}"
20 with_items: "{{ keyscan_results.stdout | split('\n') }}"
22 all_hosts: "{{ groups['all'] | difference(['localhost']) }}"