To SSH-aliaser, én server: direkte VPN eller hoppvert
Hold en godkjent VPN-rute og en godkjent bastionrute som separate aliaser og bokmerker, slik at ingen snarvei må gjette hvilken rute som er autorisert.
Den samme private serveren svarer over en godkjent VPN og gjennom en godkjent bastion, og du vil ha ett Emacs-bokmerke for hver i stedet for en snarvei som gjetter. Beslutningen er ikke hvilken rute som er bedre; den er hvilken rute som er autorisert for arbeidet foran deg. Hold begge eksplisitte, navngi dem hver for seg, og la filnavnet si hvilken du valgte.
Betingelse én: hvilke ruter er godkjent?
En hoppvert er ikke en automatisk erstatning for et VPN-krav, og en VPN er ikke en lisens til å hoppe over en godkjent bastion. Spør hvilke ruter som er autorisert for kontoen din og for disse dataene. Er begge godkjent, har du et valg; er bare én det, har bokmerkesettet én oppføring. Det svaret kommer fra dataeieren, ikke fra ruten som tilfeldigvis virker i dag.
Skriv ned svaret, fordi forskjellen forsvinner raskt under en hendelse.
Begge rutene trenger også sin egen konto- og identitetskonfigurasjon. Et delt alias som virker over én rute, kan feile over den andre av grunner som ikke har noe med nettverket å gjøre.
Betingelse to: kan du navngi hver rute tydelig?
En SSH-konfigurasjon kan ha to vertsaliaser for én adresse, hver med forskjellig proxyatferd. Sett de spesifikke blokkene før enhver bred jokertek, fordi den første verdien som oppnås, vinner for de fleste alternativer.
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
Adressen ovenfor er et eksempel; bytt den ut med den teamet ditt dokumenterer. Hoppaliaset trenger også bastionens godkjente konto, noe som vanligvis betyr en andre Host-blokk for selve bastionen. Å slå av deling av tilkoblinger her holder en rutesammenligning ærlig, siden en gjenbrukt multiplekset tilkobling kan overleve ruteendringen du prøver å observere.
Da holder de eksterne filnavnene seg adskilte og lesbare.
/ssh:proj-direct:/srv/project/README.md
/ssh:proj-bastion:/srv/project/README.md
Betingelse tre: kjenner editoren forskjellen?
TRAMP behandler de to filnavnene som forskjellige mål, og det er nettopp det du vil. Bokmerk hver av dem under et navn som sier hvilken rute den bruker, og åpne bokmerket på nytt i stedet for å endre betydningen av ett enkelt mål. To bokmerker gjør også sammenligningen synlig: du kan åpne begge og se hvilken som feiler uten å endre noen konfigurasjon.
Én innstilling fortjener oppmerksomhet når ProxyJump er involvert: TRAMPs deling av tilkoblinger må være av for de aktuelle tilkoblingene, så sett tramp-use-connection-share til nil før du åpner dem. Det er en kompatibilitetsinnstilling, ikke en retting av en manglende rute, og den gjør ikke en uautorisert rute autorisert. TRAMP-FAQ-en dokumenterer bokmerker som den støttede måten å forkorte disse navnene på.
Et bokmerke som lydløst skifter rute, er verre enn ingen bokmerker.
Hvorfor nettverksikonet ikke beviser noe
NetworkManagers samlede tilstandsverdi 70 betyr at maskinen har global tilkobling. Den navngir ingen VPN-profil, og vanlig Wi-Fi oppfyller den. En tunnel kun for det private nettverket som bærer nøyaktig ruten du trenger, kan la den samlede verdien være urørt. Derfor kan en snarvei knyttet til ikonet rapportere beredskap for en rute den aldri har testet.
Les tilstanden til den spesifikke tilkoblingen i stedet for den globale.
Hvis du automatiserer noe, spør den navngitte tilkoblingen, og kontroller deretter målruten, resolversvaret og SSH-nåbarhet i den rekkefølgen. Hver av dem kan feile mens den forrige lykkes, og å slå dem sammen til én boolsk verdi er hvordan automatisering ender med å rapportere suksess for en rute den aldri brukte.
Hva du gjør når en rute slutter å virke
Lagre bufferne dine før du undersøker, fordi en eksisterende TRAMP-økt kan overleve en ruteendring og deretter feile ved neste skriving. Lukk den gjennom den støttede oppryddingen, åpne bokmerket på nytt, og sammenlign de to rutene i stedet for å anta at serveren er nede.
Hold vertsnøkkelverifisering på for både bastionen og målet.
En annen rute gir deg ikke rett til å godta en servernøkkel du ikke forventet, og den gjør heller ikke en ikke-godkjent rute akseptabel. Begge er separate beslutninger fra den du var i ferd med å ta.