Au bureau, je peux me connecter à des machines internes sans proxy, mais j'ai besoin d'un proxy pour les connexions externes. En dehors du bureau, je peux me connecter à d'autres machines externes sans proxy, mais je dois utiliser l'un des 2 proxy pour me connecter aux machines internes.
Si je peux trouver un moyen de détecter automatiquement le réseau sur lequel je suis, puis-je demander à ssh de charger le fichier de configuration approprié?
Sinon, existe-t-il une solution plus élégante que d'écrire un script shell pour lier le fichier de configuration approprié à ~ / .ssh / config (ma meilleure idée jusqu'à présent)?
Edit: Je pense que @pcm et JonnyRo ont compris ma question et je vais essayer ce qu'ils suggèrent, mais juste pour être clair, je veux
|--------\ Dest | abc.example.com | xyz.external.org |
| Source \---------\| | |
|--------------------+-----------------+------------------|
| example.com office | No Proxy | Proxy |
| outside | Proxy | No Proxy |
Écrivez un script shell qui vérifie votre IP par rapport à un modèle, puis créez un lien symbolique avec le script shell approprié.
Si, pour une raison quelconque, votre plage IP est la même pour le domicile et le travail, essayez de basculer en fonction de /etc/resolv.conf, qui contient les serveurs DNS configurés DHCP.
la source
L'option "Host" dans .ssh / config vous permet de modifier la configuration en fonction de la destination. J'utilise cela pour ajuster la redirection de port et autres en fonction de l'endroit où je vais.
la source
J'ai étudié cette question dans le passé et une solution possible est d'avoir une telle entrée dans le fichier de configuration:
De cette façon, si vous êtes à l'extérieur, vous pouvez $ ssh machine.inside_domain. Si vous êtes à l'intérieur et que la résolution du DNS est en cours, vous pouvez $ ssh machine. Cela fonctionne bien pour moi.
Peut-être que quelqu'un peut améliorer cette idée, peut-être changer la configuration DNS pour qu'il résout automatiquement la machine en machine.inside_domain si vous êtes à l'extérieur et utilisez le point d'entrée SSH.
la source