--- - name: gather public_keys hosts: frontal tasks: - block: - shell: 'ssh-keyscan -t ecdsa -H {{ hostvars[item].inventory_hostname }},{{ hostvars[item].inventory_hostname_short }}' args: creates: 'host_vars/{{ hostvars[item].inventory_hostname }}' register: ssh_keyscan with_items: "{{groups['all']}}" - copy: content: "---\nknown_hosts: \n{% for line in item.stdout_lines %} - '{{ line }}'\n{% endfor %}" dest: 'host_vars/{{ hostvars[item.item].inventory_hostname }}' force: no loop: "{{ ssh_keyscan.results }}" loop_control: label: "{{ item.item }} keys" when: item.stdout_lines | length > 0