Dezelfde privéserver antwoordt via een goedgekeurde VPN en via een goedgekeurd bastion, en u wilt één Emacs-bladwijzer voor elk in plaats van een snelkoppeling die raadt. De beslissing is niet welk pad beter is; het is welk pad geautoriseerd is voor het werk dat voor u ligt. Houd beide expliciet, noem ze apart, en laat de bestandsnaam zeggen welke u hebt gekozen.

Voorwaarde één: welke paden zijn goedgekeurd?

Een spronghost is geen automatische vervanging voor een VPN-vereiste, en een VPN is geen licentie om een goedgekeurd bastion over te slaan. Vraag welke routes geautoriseerd zijn voor uw account en voor deze gegevens. Zijn beide goedgekeurd, dan hebt u een keuze; is er maar één, dan heeft de bladwijzerset één vermelding. Dat antwoord komt van de gegevenseigenaar, niet van de route die vandaag toevallig werkt.

Schrijf het antwoord op, want het onderscheid verdwijnt snel tijdens een incident.

Beide paden hebben ook hun eigen account- en identiteitsconfiguratie nodig. Een gedeelde alias die via het ene pad werkt, kan via het andere mislukken om redenen die niets met het netwerk te maken hebben.

Voorwaarde twee: kunt u elk pad afzonderlijk benoemen?

Een SSH-configuratie kan twee hostaliassen voor één adres bevatten, elk met ander proxygedrag. Plaats de specifieke blokken vóór elke brede jokertekens, want de eerst verkregen waarde wint voor de meeste opties.

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

Het adres hierboven is een voorbeeld; vervang het door het adres dat uw team documenteert. De sprongalias heeft ook het goedgekeurde account van het bastion nodig, wat meestal een tweede Host-blok voor het bastion zelf betekent. Het uitschakelen van verbindingsdeling hier houdt een padvergelijking eerlijk, omdat een hergebruikte gemultiplexte verbinding de routewijziging kan overleven die u probeert te observeren.

Dan blijven de externe bestandsnamen apart en leesbaar.

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

Voorwaarde drie: kent de editor het verschil?

TRAMP behandelt die twee bestandsnamen als verschillende bestemmingen, en dat is precies wat u wilt. Bladwijzer elk onder een naam die zegt welk pad het gebruikt, en open de bladwijzer opnieuw in plaats van de betekenis van één bestemming te wijzigen. Twee bladwijzers maken de vergelijking ook zichtbaar: u kunt beide openen en zien welke faalt zonder enige configuratie te wijzigen.

Eén instelling verdient aandacht wanneer ProxyJump in het spel is: de verbindingsdeling van TRAMP moet uit staan voor de betreffende verbindingen, dus zet tramp-use-connection-share op nil voordat u ze opent. Dat is een compatibiliteitsinstelling, geen oplossing voor een ontbrekende route, en het maakt een niet-goedgekeurd pad niet goedgekeurd. De TRAMP-FAQ documenteert bladwijzers als de ondersteunde manier om deze namen te verkorten.

Een bladwijzer die stil van route verandert, is erger dan geen bladwijzer.

Waarom het netwerkpictogram niets bewijst

De algemene toestandswaarde 70 van NetworkManager betekent dat de machine wereldwijde connectiviteit heeft. Hij noemt geen VPN-profiel, en gewone Wi-Fi voldoet eraan. Een tunnel alleen voor het privénetwerk die precies de route draagt die u nodig hebt, kan die samengevatte waarde onaangeroerd laten. Daarom kan een snelkoppeling die aan het pictogram hangt, gereedheid melden voor een pad dat hij nooit heeft getest.

Lees de toestand van de specifieke verbinding in plaats van de algemene.

Als u iets automatiseert, vraag dan de genoemde verbinding op, en controleer daarna de doelroute, het antwoord van de resolver en de SSH-bereikbaarheid in die volgorde. Elk daarvan kan falen terwijl het vorige slaagt, en ze samenvatten in één booleaanse waarde is hoe automatisering uiteindelijk succes meldt voor een pad dat het nooit heeft gebruikt.

Wat te doen als een pad stopt met werken

Sla uw buffers op voordat u onderzoek doet, want een bestaande TRAMP-sessie kan een routewijziging overleven en daarna bij de volgende schrijfactie falen. Sluit die via de ondersteunde opruiming, open de bladwijzer opnieuw, en vergelijk de twee paden in plaats van aan te nemen dat de server platligt.

Houd hostsleutelverificatie aan voor zowel het bastion als de bestemming.

Een ander pad geeft u niet het recht een serversleutel te accepteren die u niet verwachtte, en het maakt een niet-goedgekeurd pad ook niet aanvaardbaar. Beide zijn afzonderlijke beslissingen van degene die u aan het nemen was.

Gerelateerde artikelen