Același server privat răspunde printr-o VPN aprobată și printr-un bastion aprobat, iar dumneavoastră doriți un marcaj Emacs pentru fiecare în loc de o scurtătură care ghicește. Decizia nu este care rută este mai bună; este care rută este autorizată pentru munca din fața dumneavoastră. Păstrați ambele explicite, numiți-le separat și lăsați numele fișierului să spună pe care ați ales-o.

Prima condiție: ce rute sunt aprobate?

O gazdă de salt nu este o alternativă automată la o cerință de VPN, iar o VPN nu este o licență de a sări peste un bastion aprobat. Întrebați ce rute sunt autorizate pentru contul dumneavoastră și pentru aceste date. Dacă ambele sunt, aveți o alegere; dacă doar una, setul de marcaje are o singură intrare. Acest răspuns vine de la proprietarul datelor, nu de la ruta care funcționează azi din întâmplare.

Notați răspunsul, pentru că distincția dispare repede în timpul unui incident.

Ambele rute au nevoie și de propria configurație de cont și identitate. Un alias partajat care funcționează pe o rută poate eșua pe cealaltă din motive care nu au nimic de-a face cu rețeaua.

A doua condiție: puteți numi fiecare rută distinct?

O configurație SSH poate conține două aliasuri de gazdă pentru o adresă, fiecare cu un comportament de proxy diferit. Puneți blocurile specifice înaintea oricărui metacaracter larg, pentru că prima valoare obținută câștigă la majoritatea opțiunilor.

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 de mai sus este un exemplu; înlocuiți-o cu cea pe care o documentează echipa dumneavoastră. Aliasul de salt are nevoie și de contul aprobat al bastionului, ceea ce înseamnă de obicei un al doilea bloc Host pentru bastionul propriu-zis. Dezactivarea partajării conexiunilor aici menține onestă comparația rutelor, deoarece o conexiune multiplexată reutilizată poate supraviețui schimbării de rută pe care încercați să o observați.

Apoi numele fișierelor la distanță rămân distincte și lizibile.

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

A treia condiție: editorul cunoaște diferența?

TRAMP tratează aceste două nume de fișier ca destinații diferite, ceea ce este exact ce doriți. Marcați fiecare sub un nume care spune ce rută folosește, și redeschideți marcajul în loc să modificați semnificația unei singure destinații. Două marcaje fac și comparația vizibilă: puteți deschide ambele și vedea care eșuează fără a schimba vreo configurație.

O setare merită atenție când ProxyJump este implicat: partajarea conexiunilor din TRAMP trebuie să fie oprită pentru conexiunile relevante, așa că setați tramp-use-connection-share la nil înainte de a le deschide. Este o setare de compatibilitate, nu o reparație pentru o rută lipsă, și nu face autorizată o rută neautorizată. Întrebările frecvente TRAMP documentează marcajele ca modalitatea acceptată de a scurta aceste nume.

Un marcaj care schimbă ruta în tăcere este mai rău decât niciun marcaj.

De ce pictograma de rețea nu dovedește nimic

Valoarea globală de stare 70 din NetworkManager înseamnă că mașina are conectivitate globală. Ea nu numește niciun profil VPN, iar un Wi-Fi obișnuit o satisface. Un tunel doar pentru rețeaua privată care transportă exact ruta de care aveți nevoie poate lăsa acea valoare agregată neatinsă. De aceea o scurtătură legată de pictogramă poate raporta disponibilitate pentru o rută pe care nu a testat-o niciodată.

Citiți starea conexiunii specifice, nu pe cea globală.

Dacă automatizați ceva, interogați conexiunea numită, apoi verificați ruta țintă, răspunsul resolverului și accesibilitatea SSH în această ordine. Oricare dintre ele poate eșua în timp ce precedenta reușește, iar reducerea lor la o singură valoare booleană este modul în care automatizarea sfârșește prin a raporta succes pentru o rută pe care nu a folosit-o niciodată.

Ce să faceți când o rută nu mai funcționează

Salvați-vă bufferele înainte de a investiga, pentru că o sesiune TRAMP existentă poate supraviețui unei schimbări de rută și apoi poate eșua la următoarea scriere. Închideți-o prin curățarea acceptată, redeschideți marcajul și comparați cele două rute în loc să presupuneți că serverul este căzut.

Țineți activă verificarea cheii de gazdă atât pentru bastion, cât și pentru destinație.

O rută diferită nu vă dă dreptul să acceptați o cheie de server pe care nu o așteptați, nici nu face acceptabilă o rută neaprobată. Ambele sunt decizii separate de cea pe care o luați.

Articole similare