all: known_hosts authorized_keys config @chmod -R og= . .PHONY: all known_hosts: $(wildcard known_hosts.d/*) touch $@ for f in $^; do \ echo "### from $$f:"; \ cat $$f; \ echo; \ done > $@ authorized_keys: $(wildcard authorized_keys.d/*) touch $@ for f in $^; do \ echo "### from $$f:"; \ cat $$f; \ echo; \ done > $@ SSH_VERSION = $(shell ssh -V 2>&1) config: config.in cp $< $@ case "$(SSH_VERSION)" in \ (OpenSSH_5.[012345]*) \ sed -ri -e 's,^.+\bControlPersist\b.+$$,##UNSUPPORTED##&,' \ -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \ $@ \ ;; \ (OpenSSH_4.7*) \ sed -ri -e 's,^.+\bVisualHostKey\b.+$$,##UNSUPPORTED##&,' \ -e 's,^.+\bControlPersist\b.+$$,##UNSUPPORTED##&,' \ -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \ $@ \ ;; \ (OpenSSH_4.3*) \ sed -ri -e 's,^.+\bExitOnForwardFailure\b.+$$,##UNSUPPORTED##&,' \ -e 's,^.+\bMACs\b.+$$,##UNSUPPORTED##&,' \ -e 's,^(.+ControlPath ~/.var/ssh/ssh_control_)%l_(.+),\1\2,' \ -e 's,^.+\bVisualHostKey\b.+$$,##UNSUPPORTED##&,' \ -e 's,^.+\bControlPersist\b.+$$,##UNSUPPORTED##&,' \ -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \ $@ \ ;; \ (3.9*) \ sed -ri -e 's,^.+\bExitOnForwardFailure\b.+$$,##UNSUPPORTED##&,' \ -e 's,^.+\bMACs\b.+$$,##UNSUPPORTED##&,' \ -e 's,^.+\bHashKnownHosts\b.+$$,##UNSUPPORTED##&,' \ -e 's,^.+\bControl(Master|Path|Persist)\b.+$$,##UNSUPPORTED##&,' \ -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \ $@ \ ;; \ esac