Ich suche nach einer Möglichkeit, bestimmte CIDR-Blöcke zu verwenden, um Hosts in der SSH-Client-Konfiguration abzugleichen (normalerweise ~/.ssh/config
). Zum Beispiel habe ich einen Eintrag den gesamten Datenverkehr durch eine Bastion - Host zu übermitteln , wenn die IP in einen bestimmten Bereich fällt, sagen wir mal 10.1.0.0/16
:
host 10.1.*
proxycommand ssh -q bastion -W %h:%p
Das funktioniert sehr gut, aber wie wäre es, wenn ich einige Bereiche hinzufüge, die nicht genau zur Punktnotation passen?
# doesn't work, unfortunately
host 10.2.0.0/18
proxycommand ssh -q bastion-foo -W %h:%p
host 10.2.64.0/18
proxycommand ssh -q bastion-bar -W %h:%p
Enthält das Handbuch etwas, das ich verpasst habe, oder einen cleveren Scripting-Trick, mit dem diese Host-IP-Bereiche abgeglichen werden können?
host
Einträgen unterscheiden. Es brauchte auch jedes einzeln aufgeführte (ssh / Mac). Kürzeste, die ich finden konnte:host "10.2.?.*", "10.2.??.*", "!10.2.64*", "!10.2.65*", "!10.2.66*", "!10.2.67*", "!10.2.68*", "!10.2.69*", "!10.2.7*", "!10.2.8*", "!10.2.9*"
undhost "10.2.??.*", "10.2.10?.*", "10.2.11?.*", "10.2.12?.*", "!10.2.1?.*", "!10.2.2?.*", "!10.2.3?.*", "!10.2.4?.*", "!10.2.5?.*", "!10.2.60.*", "!10.2.61.*", "!10.2.62.*", "!10.2.63.*", "!10.2.128.*", "!10.2.129.*"
Behalten Sie http://bugzilla.mindrot.org/show_bug.cgi?id=1169 im Auge, was möglicherweise einen Mechanismus dafür darstellt.
quelle