Im Büro kann ich eine Verbindung zu internen Computern ohne Proxy herstellen, benötige jedoch einen Proxy für externe Verbindungen. Außerhalb des Büros kann ich ohne Proxy eine Verbindung zu anderen externen Computern herstellen, muss aber einen von zwei Proxys verwenden, um eine Verbindung zu internen Computern herzustellen.
Kann ich ssh anweisen, die entsprechende Konfigurationsdatei zu laden, wenn ich eine Möglichkeit finde, mein Netzwerk automatisch zu erkennen?
Wenn nicht, gibt es eine elegantere Lösung, als ein Shell-Skript zu schreiben, um die entsprechende Konfigurationsdatei mit ~ / .ssh / config zu verknüpfen (meine bisher beste Idee)?
Edit: Ich denke, @pcm und JonnyRo haben meine Frage verstanden und ich werde versuchen, was sie vorschlagen, aber nur um klar zu sein, ich möchte
|--------\ Dest | abc.example.com | xyz.external.org |
| Source \---------\| | |
|--------------------+-----------------+------------------|
| example.com office | No Proxy | Proxy |
| outside | Proxy | No Proxy |
Schreiben Sie ein Shell-Skript, das Ihre IP-Adresse anhand eines Musters überprüft, und verknüpfen Sie dann das entsprechende Shell-Skript.
Wenn aus irgendeinem Grund Ihr IP-Bereich für Privat- und Geschäftsanwender derselbe ist, versuchen Sie, basierend auf /etc/resolv.conf, das die DHCP-konfigurierten DNS-Server enthält, zu wechseln.
quelle
Mit der Option "Host" in .ssh / config können Sie die Konfiguration basierend auf dem Ziel ändern. Ich benutze das, um die Portweiterleitung und so weiter anzupassen, je nachdem, wohin ich gehe.
quelle
Ich habe diese Frage in der Vergangenheit untersucht und eine mögliche Lösung besteht darin, einen solchen Eintrag in der Konfigurationsdatei zu haben:
Auf diese Weise können Sie, wenn Sie sich draußen befinden, $ ssh machine.inside_domain. Wenn Sie drinnen sind und DNS auflösen, können Sie $ ssh machine. Das funktioniert gut für mich.
Vielleicht kann jemand diese Idee verbessern, vielleicht die DNS-Konfiguration so ändern, dass sie automatisch von Maschine zu Maschine aufgelöst wird.
quelle