--- /dev/null
+---
+- name: load additional config from .ssh dir
+ include_vars:
+ dir: "{{ '~/.ssh' | expanduser }}"
+ depth: 1
+ files_matching: 'r3_localconfig.yml'
+
+- name: create .ssh/config.d
+ file:
+ path: "~/.ssh/config.d/"
+ state: directory
+
+- name: install generated ssh config snippets
+ template:
+ src: "ssh/{{ item | basename }}"
+ dest: "~/.ssh/config.d/{{ item | basename | regex_replace('^(.*)\\.j2$', '\\1') }}"
+ with_fileglob:
+ - "../templates/ssh/*.conf.j2"
+
+- name: install static ssh config snippets
+ copy:
+ src: ssh/
+ dest: ~/.ssh/config.d/
+
+- name: assemble ssh config
+ assemble:
+ src: ~/.ssh/config.d/
+ regexp: "\\.conf$"
+ dest: ~/.ssh/config
--- /dev/null
+##########################################################################################
+# realraum ssh-config (generated by ansible NOC repo)
+
+#######################################
+### dynamically generated hosts
+
+{% for host in (groups['all'] | sort) %}
+{% set shortname = (host.split('.') | first) %}
+Host {{ host }}.realraum.at r3-{{ shortname }} r3g-{{ shortname }} r3e-{{ shortname }}
+ Hostname {{ host }}.realraum.at
+{% if 'localconfig_ssh_config_proxycommand' in hostvars[host] %}
+ ProxyCommand {{ hostvars[host].localconfig_ssh_config_proxycommand }}
+{% endif %}
+{% if 'localconfig_ssh_config_user' in hostvars[host] %}
+ User {{ hostvars[host].localconfig_ssh_config_user }}
+{% endif %}
+{% if 'localconfig_ssh_config_port' in hostvars[host] %}
+ Port {{ hostvars[host].localconfig_ssh_config_port }}
+{% endif %}
+
+{% endfor %}
+#######################################
+### static host configs
+
+Host gw.realraum.at r3-gw
+ Hostname gw.realraum.at
+
+Host gnocchi1.realraum.at r3-gnocchi1
+ Hostname gnocchi1.realraum.at
+
+Host gnocchi2.realraum.at r3-gnocchi2
+ Hostname gnocchi2.realraum.at
+
+Host torwaechter.mgmt.realraum.at r3g-torwaechter
+ Hostname torwaechter.mgmt.realraum.at
+ User realraum
+
+Host ap0.mgmt.realraum.at r3g-ap0
+ Hostname ap0.mgmt.realraum.at
+ User root
+
+Host ap1.mgmt.realraum.at r3g-ap1
+ Hostname ap1.mgmt.realraum.at
+ User root
+
+Host licht.realraum.at r3-licht r3g-licht r3e-licht
+ Hostname licht.realraum.at
+ User realraum
+
+
+#############################################################
+###
+### general settings, this must come after the last host entry!!!
+###
+
+## use gateway as jump host
+Host r3g-*
+# ProxyCommand ssh -q -a gw.realraum.at -W %h:%p
+ ProxyCommand ssh -q -a gw.realraum.at nc -q0 -w1 %h %p
+
+## use entrance as jump host
+Host r3e-*
+ ProxyCommand ssh -q -a entrance.realraum.at -W %h:%p
+
+Host r3-* r3g-* r3e-* *.realraum.at
+{% for id_file in localconfig_ssh_ids %}
+ IdentityFile {{ id_file }}
+{% endfor %}
+ IdentitiesOnly yes
+ ForwardAgent no
+ Port 22000
+{% if localconfig_ssh_user is defined %}
+ User {{ localconfig_ssh_user }}
+{% endif %}
+
+###
+### don't put anything beyond this line!