Twee SSH-aliasse, een bediener: direkte VPN of bastion
Hou ’n goedgekeurde VPN-roete en ’n goedgekeurde bastionroete as aparte aliasse en boekmerke, sodat geen kortpad hoef te raai watter roete gemagtig is nie.
Dieselfde private bediener antwoord oor ’n goedgekeurde VPN en deur ’n goedgekeurde bastion, en jy wil een Emacs-boekmerk vir elkeen eerder as ’n kortpad wat raai. Die besluit is nie watter roete beter is nie; dit is watter roete vir die werk voor jou gemagtig is. Hou albei eksplisiet, noem hulle afsonderlik, en laat die lêernaam sê watter een jy gekies het.
Voorwaarde een: watter roetes is goedgekeur?
’n Spronggasheer is nie ’n outomatiese terugval om ’n VPN-vereiste nie, en ’n VPN is nie ’n lisensie om ’n goedgekeurde bastion oor te slaan nie. Vra watter roetes vir jou rekening en vir hierdie data gemagtig is. As albei gemagtig is, het jy ’n keuse; as net een dit is, het die boekmerkversameling een inskrywing. Daardie antwoord kom van die data-eienaar, nie van watter roete vandag toevallig werk nie.
Skryf die antwoord neer, want die onderskeid verdwyn vinnig tydens ’n voorval.
Albei roetes het ook hul eie rekening- en identiteitskonfigurasie nodig. ’n Gedeelde alias wat oor een roete werk, kan oor die ander misluk weens redes wat niks met die netwerk te doen het nie.
Voorwaarde twee: kan jy elke roete duidelik benoem?
’n SSH-konfigurasie kan twee gasheeraliasse vir een adres hou, elk met ander proxygedrag. Plaas die spesifieke blokke voor enige breë wildcard, want die eerste waarde wat verkry word, wen vir die meeste opsies.
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
Die adres hierbo is ’n voorbeeld; vervang dit met die een wat jou span dokumenteer. Die sprongalias het ook die bastion se goedgekeurde rekening nodig, wat gewoonlik ’n tweede Host-blok vir die bastion self beteken. Om verbindingdeling hier af te skakel, hou ’n roetevergelyking eerlik, want ’n hergebruikte gemultiplekse verbinding kan die roeteverandering wat jy probeer waarneem, oorleef.
Dan bly die afgeleë lêername afsonderlik en leesbaar.
/ssh:proj-direct:/srv/project/README.md
/ssh:proj-bastion:/srv/project/README.md
Voorwaarde drie: weet die redigeerder van die verskil?
TRAMP behandel daardie twee lêername as verskillende bestemmings, wat is wat jy wil hê. Merk elkeen onder ’n naam wat sê watter roete dit gebruik, en heropen die boekmerk eerder as om ’n enkele bestemming se betekenis te wysig. Twee boekmerke maak ook die vergelyking sigbaar: jy kan albei oopmaak en sien watter een misluk sonder om enige konfigurasie te verander.
Een instelling verdien aandag wanneer ProxyJump betrokke is: TRAMP se verbindingdeling moet vir die betrokke verbindings af wees, so stel tramp-use-connection-share op nil voordat jy hulle oopmaak. Dit is ’n versoenbaarheidsinstelling, nie ’n regstelling vir ’n ontbrekende roete nie, en dit maak nie ’n ongemagtigde roete gemagtig nie. Die TRAMP-FAQ dokumenteer boekmerke as die ondersteunde manier om hierdie name te verkort.
’n Boekmerk wat stilweg van roete verander, is slegter as geen boekmerk nie.
Waarom die netwerkikoon niks bewys nie
NetworkManager se algehele toestandwaarde 70 beteken die masjien het globale konnektiwiteit. Dit noem nie ’n VPN-profiel nie, en gewone Wi-Fi bevredig dit. ’n Privaatnet-tunnel wat presies die roete dra wat jy nodig het, kan daardie saamgestelde waarde onaangeraak laat. Dit is hoekom ’n kortpad wat aan die ikoon gekoppel is, gereedheid kan rapporteer vir ’n roete wat dit nog nooit getoets het nie.
Lees eerder die spesifieke verbinding se toestand as die globale een.
As jy iets outomatiseer, vra die genoemde verbinding, kyk dan na die teikenroete, die resolveerder se antwoord en SSH-bereikbaarheid in daardie volgorde. Elkeen van dié kan misluk terwyl die vorige een slaag, en om hulle in ’n enkele booleaanse waarde saam te voeg, is hoe outomatisering sukses rapporteer vir ’n roete wat dit nooit gebruik het nie.
Wat om te doen wanneer ’n roete ophou werk
Stoor jou buffers voordat jy ondersoek, want ’n bestaande TRAMP-sessie kan ’n roeteverandering oorleef en dan by die volgende skryf misluk. Sluit dit deur die ondersteunde opruiming, heropen die boekmerk, en vergelyk die twee roetes eerder as om te aanvaar dat die bediener af is.
Hou gasheersleutelverifikasie aan vir beide die bastion en die bestemming.
’n Ander roete gee jou nie die reg om ’n bedienersleutel te aanvaar wat jy nie verwag het nie, en dit maak ’n nie-goedgekeurde roete ook nie aanvaarbaar nie. Albei is aparte besluite van die een wat jy gemaak het.