Dva SSH aliasy, jeden server: přímé VPN, nebo bastion
Udržujte schválenou cestu VPN a schválenou cestu přes bastion jako samostatné aliasy a záložky, aby žádná zkratka nemusela hádat, která trasa je povolená.
Stejný privátní server odpovídá přes schválené VPN a přes schválený bastion a vy chcete jednu záložku Emacs pro každou z nich, místo zkratky, která hádá. Rozhodnutí není, která cesta je lepší; je to, která cesta je povolená pro práci, kterou máte před sebou. Udržujte obě explicitní, pojmenujte je odděleně a nechte název souboru říct, kterou jste zvolili.
Podmínka první: které cesty jsou schválené?
Jump host není automatickou náhradou požadavku na VPN a VPN není licence přeskočit schválený bastion. Zeptejte se, které trasy jsou povolené pro váš účet a pro tato data. Jsou-li povolené obě, máte volbu; je-li jen jedna, má sada záložek jednu položku. Odpověď přichází od vlastníka dat, ne od trasy, která dnes náhodou funguje.
Odpověď si zapište, protože během incidentu tento rozdíl rychle zmizí.
Obě cesty také potřebují vlastní konfiguraci účtu a identity. Sdílený alias, který funguje přes jednu trasu, může přes druhou selhat z důvodů, které sítí nemají nic společného.
Podmínka druhá: dokážete každou cestu pojmenovat odlišně?
Konfigurace SSH může obsahovat dva aliasy hostitele pro jednu adresu, každý s jiným chováním proxy. Konkrétní bloky umístěte před jakýkoli široký zástupný znak, protože první získaná hodnota vyhrává u většiny voleb.
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
Adresa výše je příklad; nahraďte ji tou, kterou dokumentuje váš tým. Alias pro přeskočení potřebuje také schválený účet bastionu, což obvykle znamená druhý blok Host pro samotný bastion. Vypnutí sdílení připojení zde udržuje srovnání cest poctivé, protože znovu použitá multiplexovaná relace může přežít změnu trasy, kterou se snažíte pozorovat.
Vzdálené názvy souborů pak zůstávají odlišné a čitelné.
/ssh:proj-direct:/srv/project/README.md
/ssh:proj-bastion:/srv/project/README.md
Podmínka třetí: zná editor rozdíl?
TRAMP považuje tyto dva názvy souborů za různé cíle, což je přesně to, co chcete. Každou si označte záložkou pod názvem, který říká, kterou cestu používá, a záložku znovu otevírejte, místo abyste měnili význam jednoho cíle. Dvě záložky také zviditelňují srovnání: můžete otevřít obě a vidět, která selhává, aniž byste měnili jakoukoli konfiguraci.
Jedno nastavení zaslouží pozornost, když je zapojen ProxyJump: sdílení připojení v TRAMP musí být pro příslušná připojení vypnuté, proto nastavte tramp-use-connection-share na nil, než je otevřete. To je nastavení kompatibility, ne oprava chybějící trasy, a nečiní nepovolenou cestu povolenou. TRAMP FAQ dokumentuje záložky jako podporovaný způsob, jak tyto názvy zkrátit.
Záložka, která tiše změní trasu, je horší než žádná záložka.
Proč ikona sítě nic nedokazuje
Celková hodnota stavu 70 v NetworkManageru znamená, že počítač má globální konektivitu. Neuvádí žádný profil VPN a běžná Wi-Fi ji splňuje. Tunel pouze pro privátní síť, který nese přesně trasu, kterou potřebujete, může tuto souhrnnou hodnotu nechat nedotčenou. Proto zkratka navázaná na ikonu může hlásit připravenost pro cestu, kterou nikdy netestovala.
Čtěte stav konkrétního připojení místo globálního.
Pokud něco automatizujete, vyžádejte si pojmenované připojení, potom v tomto pořadí zkontrolujte cílovou trasu, odpověď resolveru a dostupnost SSH. Každé z toho může selhat, zatímco předchozí uspěje, a sloučení do jediného booleanu je způsob, jak automatizace hlásí úspěch pro cestu, kterou nikdy nepoužila.
Co dělat, když cesta přestane fungovat
Před vyšetřováním uložte buffery, protože existující relace TRAMP může přežít změnu trasy a potom selhat při dalším zápisu. Uzavřete ji podporovaným úklidem, znovu otevřete záložku a porovnejte obě cesty, místo abyste předpokládali, že server je mimo provoz.
Ponechte ověřování klíče hostitele zapnuté pro bastion i pro cíl.
Jiná trasa vám nedává právo přijmout klíč serveru, který jste nečekali, a nečiní přijatelnou ani neschválenou cestu. Obě jsou samostatná rozhodnutí od toho, které jste dělali.