Ekstern VPN-editor over SSH: hvilken maskin redigerer du?
X11-videresending viser en ekstern editor på den bærbare datamaskinen din, men profilen og rutene blir værende på den eksterne verten. Kontroller vert, UUID og tilbakerulling før du lagrer.
X11-videresending setter editorens vindu på den bærbare datamaskinen din mens prosessen fortsetter å kjøre på den eksterne verten. Dette gapet er hele fellen: du ser på et lokalt vindu og redigerer en ekstern profil, og en feil antakelse om hvilken maskin som eier endringen kan kutte SSH-forbindelsen du arbeider over. Sjekklisten nedenfor fastsetter verten og profilen før noe lagres. Hvert trinn har en stoppbetingelse, så en tidlig feil er billig.
Trinn 1: navngi maskinen som eier profilen
Kjør identitetskommandoene i skallet du skal konfigurere, og les svaret i stedet for å anta det fra ledeteksten. Et vertsnavn i ledeteksten er en streng skallet ditt skrev ut; kjernens vertsnavn er det resten av denne sjekklisten stoler på. Hvis de to er uenige, er du på feil maskin, eller ledeteksten er pyntet av det lokale skallet ditt. Stopp og koble til den tiltenkte verten på nytt før du fortsetter.
hostnamectl
hostname -f
ip -brief address
Det neste spørsmålet er om denne maskinen i det hele tatt skal holde VPN-en. Å konfigurere den bærbare datamaskinens klient og å konfigurere den eksterne vertens klient gir forskjellige ruter, forskjellig DNS og forskjellige feilmoduser. Bestem hvilken du mener før du berører en profil, og skriv ned avgjørelsen der neste person finner den.
Trinn 2: les profilen etter UUID, ikke etter navn
NetworkManager identifiserer en tilkobling etter UUID, mens navnet er en etikett som hvem som helst kan redigere eller duplisere. List begge og match oppføringen du faktisk mener, spesielt på en vert der flere VPN-profiler er importert gjennom årene.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
nmcli general permissions
Lagrede oppføringer og aktive tilkoblinger svarer på forskjellige spørsmål: den første viser hva som finnes, den andre viser hva som bærer trafikk akkurat nå. Tillatelseslinjen beskriver lokal policy for økten din og sier ingenting om hvorvidt VPN-gatewayen vil godta kontoen. Hvis profilen du trenger ikke er i den lagrede listen, stopp her, fordi å redigere feil oppføring er verre enn å ikke redigere i det hele tatt.
Når du har UUID-en, legg den i en variabel og bruk den variabelen i hver senere kommando. Det fjerner en hel klasse av kopier-og-lim-feil og gjør transkripsjonen reproduserbar.
UUID=$(nmcli -g UUID connection show 'Corp VPN')
nmcli connection edit uuid "$UUID"
Trinn 3: avgjør om en grafisk editor er riktig verktøy
En editor som trenger en polkit-forespørsel eller en hemmelighetsagent, får ikke det bare fordi vinduet vises på den bærbare datamaskinen din. Disse komponentene kjører i konteksten til den eksterne økten, og videresending av en skjerm videresender dem ikke. Hvis editoren ikke kan lagre på grunn av en autorisasjons- eller hemmelighetsfeil, er skjermen ikke problemet.
echo "$DISPLAY"
ssh -X you@vpn-host
xauth list
OpenSSH aktiverer X11-videresending med -X og dokumenterer forsiktigheten som følger med: den eksterne verten kan nå den lokale skjermen din, noe som er en reell tillitsgrense. Betrodd videresending med -Y fjerner noen av disse kontrollene og bør aldri være refleksløsningen for et program som feiler under standardinnstillingene. Hvis organisasjonen din publiserer en metode for fjernadministrasjon, bruk den i stedet for å finne opp en variant. I de fleste tilfeller er kommandolinjeeditoren den mindre overflaten og det bedre svaret.
Stopp her hvis den eneste fungerende veien krever -Y og du ikke kan forklare hvorfor. Det er en avgjørelse for den som eier sikkerhetspolicyen, ikke en omvei å oppbevare i et personlig skript.
Trinn 4: hold en gjenopprettingsvei før du aktiverer noe
En VPN-endring kan fjerne ruten SSH-økten din er avhengig av, så ordne en vei tilbake før du aktiverer profilen. Konsolltilgang, en administrasjonsadresse utenfor bånd eller en planlagt tilbakerulling teller alle; håpet om at endringen virker teller ikke.
sudo systemctl status NetworkManager
ip route show default
ss -tn state established '( sport = :22 )'
Aktiver bare den tiltenkte profilen, og verifiser deretter fra den eksterne verten: standardruten, SSH-returveien og én ressurs som skal være tilgjengelig gjennom tunnelen. En vellykket kontroll fra den bærbare datamaskinen tester den bærbare datamaskinens vei og sier ingenting om den eksterne verten. Hvis økten faller, bruk gjenopprettingsveien i stedet for å koble til på nytt i blinde. Å lagre en profil er ikke aktivering, og aktivering er ikke verifisering.
Noter UUID-en, egenskapsverdiene du endret og kommandoene du brukte for å verifisere dem. Den neste personen som berører denne verten trenger alle tre, og en transkripsjon er mer verdt enn et sammendrag som sier at VPN-en ble reparert. En sjekkliste som slutter uten en tilbakerullingsnotat, er en halv sjekkliste.