diff --git a/roles/calculateKnownHosts/templates/known_hosts.j2 b/roles/calculateKnownHosts/templates/known_hosts.j2
index 09eff17990a84acc58d6251b2a72a451cac608d1..38400fffa9abc28944fac1b772347452da41fe92 100644
--- a/roles/calculateKnownHosts/templates/known_hosts.j2
+++ b/roles/calculateKnownHosts/templates/known_hosts.j2
@@ -1,22 +1,12 @@
-{% set nodelist = [] %}
+{% set keytypes = [ { 'type': 'ssh-rsa', 'fact': 'ansible_ssh_host_key_rsa_public' }, { 'type': 'ecdsa-sha2-nistp256', 'fact': 'ansible_ssh_host_key_ecdsa_public'} ] %}
 {% for node in groups['all'] %}
-{% for interface in hostvars[node]['ansible_interfaces'] %}
-{% if interface != "lo" %}
-{% if 'ansible_ssh_host_key_rsa_public' in hostvars[node]  %}
-{% set host = {'name': node, 'ip': hostvars[node]['ansible_'+interface]['ipv4']['address'], 'keytype':'ssh-rsa', 'key': hostvars[node]['ansible_ssh_host_key_rsa_public']} %}
-{% if nodelist.append(host) %}
-{% endif %}
-{% endif %}
-{% if 'ansible_ssh_host_key_ecdsa_public' inĂ‚ hostvars[node] %}
-{% set host = {'name': node, 'ip': hostvars[node]['ansible_'+interface]['ipv4']['address'], 'keytype':'ecdsa-sha2-nistp256', 'key': hostvars[node]['ansible_ssh_host_key_ecdsa_public']} %}
-{% if nodelist.append(host) %}
-{% endif %}
-{% endif %}
+{% for hostkey in keytypes %}
+{% if hostkey['fact'] in hostvars[node] %}
+{{ node }} {{ hostkey['type'] }} {{ hostvars[node][hostkey['fact']] }}
+{% for ip in hostvars[node]['ansible_all_ipv4_addresses'] %}
+{{ ip }} {{ hostkey['type'] }} {{ hostvars[node][hostkey['fact']] }}
+{% endfor %}
 {% endif %}
 {% endfor %}
 {% endfor %}
 
-{% for host in nodelist %}
-{{ host.ip }} {{ host.keytype }} {{ host.key }}
-{{ host.name }} {{ host.keytype }} {{ host.key }}
-{% endfor %}