Derselbe private Server antwortet über ein genehmigtes VPN und über eine genehmigte Bastion, und Sie möchten ein Emacs-Lesezeichen für jeden Weg statt einer Verknüpfung, die rät. Die Entscheidung ist nicht, welcher Weg besser ist; sie ist, welcher Weg für die Arbeit vor Ihnen genehmigt ist. Halten Sie beide explizit, benennen Sie sie getrennt, und lassen Sie den Dateinamen sagen, welchen Sie gewählt haben.

Bedingung eins: Welche Wege sind genehmigt?

Ein Jump-Host ist kein automatischer Ersatz für eine VPN-Anforderung, und ein VPN ist keine Lizenz, eine genehmigte Bastion zu überspringen. Fragen Sie, welche Routen für Ihr Konto und für diese Daten genehmigt sind. Sind beide genehmigt, haben Sie eine Wahl; ist nur eine es, hat das Lesezeichen-Set einen Eintrag. Diese Antwort kommt vom Datenverantwortlichen, nicht von der Route, die heute zufällig funktioniert.

Schreiben Sie die Antwort auf, denn der Unterschied verschwindet während eines Vorfalls schnell.

Beide Wege brauchen außerdem ihre eigene Konto- und Identitätskonfiguration. Ein gemeinsamer Alias, der über einen Weg funktioniert, kann über den anderen aus Gründen scheitern, die nichts mit dem Netzwerk zu tun haben.

Bedingung zwei: Können Sie jeden Weg eindeutig benennen?

Eine SSH-Konfiguration kann zwei Host-Aliase für eine Adresse enthalten, jedes mit anderem Proxy-Verhalten. Setzen Sie die spezifischen Blöcke vor jeden breiten Platzhalter, denn der zuerst erhaltene Wert gewinnt bei den meisten Optionen.

Host proj-direct proj-bastion
    HostName 10.60.0.21
    User analyst
    ControlPath none

Host proj-direct
    ProxyJump none

Host proj-bastion
    ProxyJump gw.example.com

Die obige Adresse ist ein Beispiel; ersetzen Sie sie durch die, die Ihr Team dokumentiert. Der Jump-Alias braucht auch das genehmigte Konto der Bastion, was meist einen zweiten Host-Block für die Bastion selbst bedeutet. Das Abschalten der Verbindungsfreigabe hält hier einen Wegevergleich ehrlich, denn eine wiederverwendete gemultiplexte Verbindung kann den Routenwechsel überleben, den Sie beobachten wollen.

Dann bleiben die entfernten Dateinamen getrennt und lesbar.

/ssh:proj-direct:/srv/project/README.md
/ssh:proj-bastion:/srv/project/README.md

Bedingung drei: Kennt der Editor den Unterschied?

TRAMP behandelt diese beiden Dateinamen als verschiedene Ziele, was genau das ist, was Sie wollen. Versehen Sie jedes mit einem Lesezeichen unter einem Namen, der sagt, welchen Weg es nutzt, und öffnen Sie das Lesezeichen erneut, statt die Bedeutung eines einzelnen Ziels zu ändern. Zwei Lesezeichen machen den Vergleich zudem sichtbar: Sie können beide öffnen und sehen, welches scheitert, ohne eine Konfiguration zu ändern.

Eine Einstellung verdient Aufmerksamkeit, wenn ProxyJump im Spiel ist: TRAMPs Verbindungsfreigabe muss für die betreffenden Verbindungen aus sein, setzen Sie also tramp-use-connection-share auf nil, bevor Sie sie öffnen. Das ist eine Kompatibilitätseinstellung, keine Reparatur einer fehlenden Route, und sie macht einen nicht genehmigten Weg nicht genehmigt. Die TRAMP-FAQ dokumentiert Lesezeichen als den unterstützten Weg, diese Namen zu verkürzen.

Ein Lesezeichen, das stillschweigend die Route wechselt, ist schlimmer als keines.

Warum das Netzwerksymbol nichts beweist

Der Gesamtzustandswert 70 von NetworkManager bedeutet, dass die Maschine globale Konnektivität hat. Er benennt kein VPN-Profil, und gewöhnliches WLAN erfüllt ihn. Ein reiner Privat-Tunnel, der genau die Route trägt, die Sie brauchen, kann diesen Sammelwert unberührt lassen. Deshalb kann eine am Symbol hängende Verknüpfung Bereitschaft für einen Weg melden, den sie nie getestet hat.

Lesen Sie den Zustand der jeweiligen Verbindung statt den globalen.

Wenn Sie etwas automatisieren, fragen Sie die benannte Verbindung ab, prüfen Sie dann die Zielroute, die Resolver-Antwort und die SSH-Erreichbarkeit in dieser Reihenfolge. Jedes davon kann scheitern, während das vorige gelingt, und sie in einen einzigen booleschen Wert zusammenzufassen ist der Weg, wie Automatisierung Erfolg für einen Weg meldet, den sie nie benutzt hat.

Was zu tun ist, wenn ein Weg nicht mehr funktioniert

Speichern Sie Ihre Puffer, bevor Sie untersuchen, denn eine bestehende TRAMP-Sitzung kann einen Routenwechsel überleben und dann beim nächsten Schreiben scheitern. Schließen Sie sie über die unterstützte Bereinigung, öffnen Sie das Lesezeichen erneut und vergleichen Sie die beiden Wege, statt anzunehmen, der Server sei ausgefallen.

Lassen Sie die Hostschlüsselprüfung sowohl für die Bastion als auch für das Ziel eingeschaltet.

Ein anderer Weg berechtigt Sie nicht, einen Serverschlüssel zu akzeptieren, den Sie nicht erwartet haben, und er macht einen nicht genehmigten Weg auch nicht akzeptabel. Beides sind getrennte Entscheidungen von der, die Sie gerade trafen.

Ähnliche Artikel