Je cherche un moyen d'utiliser des blocs CIDR spécifiques pour faire correspondre les hôtes dans la configuration du client SSH (généralement ~/.ssh/config
). Par exemple, j'ai une entrée pour transférer tout le trafic via un hôte bastion si l'IP tombe dans une certaine plage, disons 10.1.0.0/16
:
host 10.1.*
proxycommand ssh -q bastion -W %h:%p
Cela fonctionne très bien, mais qu'en est-il lorsque j'ajoute des plages qui ne correspondent pas exactement à la notation par points?
# 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
Y a-t-il quelque chose dans le manuel que j'ai manqué, ou une astuce de script intelligente qui permettrait de faire correspondre ces plages d'adresses IP hôtes?
host
entrées distinctes . Il fallait également que chacun d'eux soit cité séparément (ssh / Mac). Le plus court que j'ai pu trouver: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*"
ethost "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.*"
Gardez un œil sur http://bugzilla.mindrot.org/show_bug.cgi?id=1169 qui pourrait éventuellement fournir un mécanisme pour cela.
la source