# ssh configuration for dns ~~ ~/.ssh/.config.d/ # managed by Ansible {% for h in groups["all"] %} {% set h = hostvars[h] %} {% set dcontroller = hostvars[global.dcontroller] %} {##} {% if h.ip is defined and h.services is defined %} {% set _port = h.services | selectattr("name", "equalto", "ssh") | map(attribute="port") | list | join(' ') %} {##} # {{ h.ansible_host }} Match originalhost {{ h.ansible_host }} exec "ping -c 1 -w 5 {{ dcontroller.ip.in }} && ! ping -c 1 -w 5 {{ h.ip.out }}" HostName {{ h.ip.in }} Port {{ _port }} Match originalhost {{ h.ansible_host }} HostName {{ h.ip.out }} Port {{ _port }} User root {% endif %} {##} {% endfor %}