To SSH-aliaser, én server: direkte VPN eller bastion
Hold en godkendt VPN-rute og en godkendt bastionrute som separate aliaser og bogmærker, så ingen genvej behøver at gætte, hvilken rute der er godkendt.
Den samme private server svarer over en godkendt VPN og gennem en godkendt bastion, og du vil have ét Emacs-bogmærke til hver i stedet for en genvej, der gætter. Beslutningen er ikke, hvilken rute der er bedre; den er, hvilken rute der er godkendt til det arbejde, du har foran dig. Hold begge eksplicitte, navngiv dem hver for sig, og lad filnavnet sige, hvilken du valgte.
Betingelse et: hvilke ruter er godkendt?
En jump host er ikke en automatisk erstatning for et VPN-krav, og en VPN er ikke en licens til at springe en godkendt bastion over. Spørg, hvilke ruter der er godkendt til din konto og til disse data. Er begge godkendt, har du et valg; er kun én, har bogmærkesættet én post. Det svar kommer fra dataejeren, ikke fra den rute, der tilfældigvis virker i dag.
Skriv svaret ned, fordi forskellen forsvinder hurtigt under en hændelse.
Begge ruter har også brug for deres egen konto- og identitetskonfiguration. Et delt alias, der virker over én rute, kan fejle over den anden af grunde, der intet har med netværket at gøre.
Betingelse to: kan du navngive hver rute tydeligt?
En SSH-konfiguration kan indeholde to værtsaliaser til én adresse, hver med forskellig proxyadfærd. Sæt de specifikke blokke før enhver bred jokertegning, fordi den første værdi, der opnås, vinder for de fleste indstillinger.
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; erstat den med den, dit team dokumenterer. Jump-aliaset har også brug for bastionens godkendte konto, hvilket normalt betyder en anden Host-blok til selve bastionen. At slå deling af forbindelser fra her holder en rutesammenligning ærlig, da en genbrugt multiplekset forbindelse kan overleve den ruteændring, du prøver at observere.
Så forbliver de fjernede filnavne adskilte og læsbare.
/ssh:proj-direct:/srv/project/README.md
/ssh:proj-bastion:/srv/project/README.md
Betingelse tre: kender editoren forskellen?
TRAMP behandler de to filnavne som forskellige destinationer, hvilket er præcis det, du vil have. Bogmærk hver under et navn, der siger, hvilken rute den bruger, og genåbn bogmærket i stedet for at ændre betydningen af én destination. To bogmærker gør også sammenligningen synlig: du kan åbne begge og se, hvilken der fejler uden at ændre nogen konfiguration.
Én indstilling fortjener opmærksomhed, når ProxyJump er involveret: TRAMPs deling af forbindelser skal være slået fra for de relevante forbindelser, så sæt tramp-use-connection-share til nil, før du åbner dem. Det er en kompatibilitetsindstilling, ikke en rettelse af en manglende rute, og den gør ikke en uautoriseret rute autoriseret. TRAMP-FAQ'en dokumenterer bogmærker som den understøttede måde at forkorte disse navne.
Et bogmærke, der lydløst skifter rute, er værre end intet bogmærke.
Hvorfor netværksikonet ikke beviser noget
NetworkManagers samlede tilstandsværdi 70 betyder, at maskinen har global forbindelse. Den navngiver ikke en VPN-profil, og almindelig Wi-Fi opfylder den. En tunnel kun til det private netværk, som bærer præcis den rute, du har brug for, kan lade den samlede værdi være urørt. Derfor kan en genvej knyttet til ikonet rapportere klarhed for en rute, den aldrig har testet.
Læs den specifikke forbindelses tilstand i stedet for den globale.
Hvis du automatiserer noget, forespørg den navngivne forbindelse, og kontrollér derefter målruten, resolverens svar og SSH-nåbarhed i den rækkefølge. Hver af dem kan fejle, mens den foregående lykkes, og at slå dem sammen til én boolean er, hvordan automatisering ender med at rapportere succes for en rute, den aldrig brugte.
Hvad man gør, når en rute holder op med at virke
Gem dine buffere, før du undersøger, fordi en eksisterende TRAMP-session kan overleve en ruteændring og derefter fejle ved den næste skrivning. Luk den gennem den understøttede oprydning, genåbn bogmærket, og sammenlign de to ruter i stedet for at antage, at serveren er nede.
Hold værtsnøgleverifikation slået til for både bastionen og destinationen.
En anden rute giver dig ikke ret til at acceptere en servernøgle, du ikke forventede, og den gør heller ikke en ikke-godkendt rute acceptabel. Begge er separate beslutninger fra den, du var ved at træffe.