## From https://github.com/russStarr/ssh_config_from_inventory ## License: Apache 2.0 (yes, that is all that was included in the original) {% for host in groups['all'] %} {% if keepgroupnames is defined and keepgroupnames == "True" %} Host {{ hostvars[host]['inventory_hostname_short'] }}{% for group in hostvars[host]['group_names'] %} {{ group }}.{{ hostvars[host]['inventory_hostname_short'] }}{% endfor %} {% else %} Host {{ hostvars[host]['inventory_hostname_short'] }} {% endif %} {% if hostvars[host]['ansible_host'] is defined %} HostName {{ hostvars[host]['ansible_host'] }} {% elif hostvars[host]['ansible_ssh_host'] is defined %} HostName {{ hostvars[host]['ansible_ssh_host'] }} {% else %} HostName {{ host }} {% endif %} {% if hostvars[host]['ansible_port'] is defined %} Port {{ hostvars[host]['ansible_port'] }} {% elif hostvars[host]['ansible_ssh_port'] is defined %} Port {{ hostvars[host]['ansible_ssh_port'] }} {% endif %} {% if hostvars[host]['ansible_user'] is defined %} User {{ hostvars[host]['ansible_user'] }} {% elif hostvars[host]['ansible_ssh_user'] is defined %} User {{ hostvars[host]['ansible_ssh_user'] }} {% endif %} {% if hostvars[host]['ansible_ssh_private_key_file'] is defined %} IdentityFile {{ hostvars[host]['ansible_ssh_private_key_file'] }} {% endif %} {% if hostvars[host]['ansible_ssh_common_args'] is defined %} ProxyCommand {{ hostvars[host]['ansible_ssh_common_args'] | regex_replace('^.*ProxyCommand=\'(.*?)\'.*', '\\1') }} {% endif %} {% endfor %}