Tas pats privatus serveris atsako per patvirtintą VPN ir per patvirtintą bastioną, o jūs norite vienos Emacs žymės kiekvienam, o ne spėliojančios nuorodos. Sprendimas ne tai, kuris kelias geresnis; tai, kuris kelias leidžiamas darbui, kuris prieš jus. Laikykite abu aiškiai, pavadinkite juos atskirai ir leiskite failo vardui pasakyti, kurį pasirinkote.

Pirma sąlyga: kurie keliai patvirtinti?

Šuolio hostas nėra automatinė VPN reikalavimo pakaitalas, o VPN nėra licencija praleisti patvirtintą bastioną. Paklauskite, kurie maršrutai leidžiami jūsų paskyrai ir šiems duomenims. Jei leidžiami abu, turite pasirinkimą; jei tik vienas, žymių rinkinyje yra vienas įrašas. Tas atsakymas ateina iš duomenų savininko, o ne iš maršruto, kuris šiandien atsitiktinai veikia.

Užsirašykite atsakymą, nes incidento metu šis skirtumas greitai išnyksta.

Abiem keliams taip pat reikia savo paskyros ir tapatybės konfigūracijos. Bendras slapyvardis, kuris veikia vienu maršrutu, gali nepavykti kitu dėl priežasčių, neturinčių nieko bendra su tinklu.

Antra sąlyga: ar galite kiekvieną kelią pavadinti atskirai?

SSH konfigūracija gali turėti du hosto slapyvardžius vienam adresui, kiekvieną su skirtingu proxy elgesiu. Konkrečius blokus dėkite prieš bet kokį platų pakaitos simbolį, nes pirmoji gauta reikšmė laimi daugumai parinkčių.

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

Aukščiau esantis adresas yra pavyzdys; pakeiskite jį tuo, kurį dokumentuoja jūsų komanda. Šuolio slapyvardžiui taip pat reikia patvirtintos bastiono paskyros, o tai paprastai reiškia antrą Host bloką pačiam bastionui. Išjungus ryšių bendrinimą čia, kelių palyginimas išlieka sąžiningas, nes pakartotinai naudojamas multipleksuotas ryšys gali pergyventi maršruto pakeitimą, kurį bandote stebėti.

Tada nuotoliniai failų vardai lieka atskiri ir įskaitomi.

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

Trečia sąlyga: ar redaktorius žino skirtumą?

TRAMP tuos du failų vardus laiko skirtingomis paskirties vietomis, o to jūs ir norite. Pažymėkite kiekvieną žyme po vardu, kuris sako, kurį kelią jis naudoja, ir atidarykite žymę iš naujo, o ne keiskite vienos paskirties vietos reikšmę. Dvi žymės taip pat padaro palyginimą matomą: galite atidaryti abi ir pamatyti, kuri nepavyksta, nekeisdami jokios konfigūracijos.

Vienas nustatymas vertas dėmesio, kai dalyvauja ProxyJump: TRAMP ryšių bendrinimas turi būti išjungtas atitinkamiems ryšiams, todėl nustatykite tramp-use-connection-share į nil prieš juos atidarydami. Tai suderinamumo nustatymas, o ne trūkstamo maršruto taisymas, ir jis nepadaro nepatvirtinto kelio patvirtintu. TRAMP DUK dokumentuoja žymes kaip palaikomą būdą sutrumpinti šiuos vardus.

Žymė, kuri tyliai pakeičia maršrutą, yra blogiau nei jokios žymės.

Kodėl tinklo piktograma nieko neįrodo

Bendroji NetworkManager būsenos reikšmė 70 reiškia, kad mašina turi globalų ryšį. Ji neįvardija jokio VPN profilio, o įprastas Wi-Fi ją patenkina. Tik privačiam tinklui skirtas tunelis, kuris neša būtent jums reikalingą maršrutą, gali palikti tą suminę reikšmę nepaliestą. Todėl prie piktogramos pririšta nuoroda gali pranešti apie pasirengimą keliui, kurio ji niekada netikrino.

Skaitykite konkrečios jungties būseną, o ne globalią.

Jei ką nors automatizuojate, užklauskite pavadintą jungtį, tada ta pačia tvarka patikrinkite tikslinį maršrutą, sprendiklio atsakymą ir SSH pasiekiamumą. Bet kuris iš jų gali nepavykti, kol ankstesnis pavyksta, o jų suliejimas į vieną loginę reikšmę yra būdas, kuriuo automatizavimas galiausiai praneša apie sėkmę keliui, kurio niekada nenaudojo.

Ką daryti, kai kelias nustoja veikti

Išsaugokite buferius prieš tirdami, nes esama TRAMP sesija gali pergyventi maršruto pakeitimą ir tada nepavykti kitame įraše. Uždarykite ją palaikomu valymu, atidarykite žymę iš naujo ir palyginkite du kelius, o ne manykite, kad serveris yra išjungtas.

Laikykite hosto rakto patikrą įjungtą ir bastionui, ir paskirties vietai.

Kitas maršrutas nesuteikia teisės priimti serverio rakto, kurio nesitikėjote, ir nepadaro nepatvirtinto kelio priimtinu. Abu yra atskiri sprendimai nuo to, kurį priėmėte.

Susiję straipsniai