X11-edelleenvälitys asettaa editorin ikkunan kannettavallesi, kun prosessi jatkaa toimintaansa etäisännässä. Tämä kuilu on koko ansa: katselet paikallista ikkunaa ja muokkaat etäprofiilia, ja väärä oletus siitä, mikä kone muutoksen omistaa, voi katkaista SSH-yhteyden, jonka yli työskentelet. Alla oleva tarkistuslista kiinnittää isännän ja profiilin ennen kuin mitään tallennetaan. Jokaisella vaiheella on pysäytys ehto, joten varhainen epäonnistuminen on halpaa.

Vaihe 1: nimeä kone, joka omistaa profiilin

Suorita identiteettikomennot kuoressa, jota aiot määrittää, ja lue vastaus sen sijaan että olettaisit sen kehotteesta. Kehotteessa oleva isäntänimi on merkkijono, jonka kuoresi tulosti; ytimen isäntänimi on se, mihin tämän listan loppu luottaa. Jos kaksi eroavat, olet väärällä koneella tai kehotetta koristaa paikallinen kuoresi. Pysähdy ja yhdistä uudelleen aiottuun isäntään ennen jatkamista.

hostnamectl
hostname -f
ip -brief address

Seuraava kysymys on, pitäisikö tämän koneen ylipäätään pitää VPN:ää. Kannettavan asiakasohjelman määrittäminen ja etäisännän asiakasohjelman määrittäminen tuottavat eri reitit, eri DNS:n ja eri vikamuodot. Päätä, kumpaa tarkoitat, ennen kuin kosket profiilia, ja kirjoita päätös sinne, mistä seuraava henkilö sen löytää.

Vaihe 2: lue profiili UUID:n mukaan, ei tunnisteen mukaan

NetworkManager tunnistaa yhteyden UUID:n perusteella, kun taas nimi on tunniste, jonka kuka tahansa voi muokata tai kopioida. Listaa molemmat ja kohdista juuri se merkintä, jota todella tarkoitat, varsinkin isännässä, johon on vuosien varrella tuotu useita VPN-profiileja.

nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
nmcli general permissions

Tallennetut merkinnät ja aktiiviset yhteydet vastaavat eri kysymyksiin: ensimmäinen luettelee, mitä on olemassa, toinen luettelee, mitä liikennettä nyt kuljettaa. Oikeusrivi kuvaa istuntosi paikallista käytäntöä eikä kerro mitään siitä, hyväksyykö VPN-portti tilin. Jos tarvitsemasi profiili ei ole tallennetussa listassa, pysähdy tähän, koska väärän merkinnän muokkaaminen on pahempaa kuin ei muokkaamista ollenkaan.

Kun sinulla on UUID, laita se muuttujaan ja käytä tätä muuttujaa jokaisessa myöhemmässä komennossa. Se poistaa kokonaisen luokan kopioi ja liitä -virheitä ja tekee lokista toistettavan.

UUID=$(nmcli -g UUID connection show 'Corp VPN')
nmcli connection edit uuid "$UUID"

Vaihe 3: päätä, onko graafinen editori oikea työkalu

Editori, joka tarvitsee polkit-kehotteen tai salaisuusagentin, ei saa sellaista vain siksi, että sen ikkuna ilmestyy kannettavallesi. Nämä komponentit toimivat etäistunnon kontekstissa, eikä näytön edelleenvälitys välitä niitä edelleen. Jos editori ei voi tallentaa valtuutus- tai salaisuusvirheen vuoksi, näyttö ei ole ongelma.

echo "$DISPLAY"
ssh -X you@vpn-host
xauth list

OpenSSH ottaa X11-edelleenvälityksen käyttöön -X avulla ja dokumentoi siihen liittyvän varovaisuuden: etäisäntä voi tavoittaa paikallisen näyttösi, mikä on todellinen luottamusraja. Luotettu edelleenvälitys -Y avulla poistaa osan näistä tarkistuksista, eikä sen pitäisi koskaan olla refleksiratkaisu sovellukselle, joka epäonnistuu oletusasetuksilla. Jos organisaatiosi julkaisee etähallintamenetelmän, käytä sitä sen sijaan että keksisit muunnoksen. Useimmiten komentorivieditori on pienempi pinta ja parempi vastaus.

Pysähdy tähän, jos ainoa toimiva polku vaatii -Y ja et osaa selittää miksi. Se on päätös sille, joka omistaa tietoturvakäytännön, ei henkilökohtaiseen skriptiin jätettävä kierto.

Vaihe 4: pidä palautuspolku ennen kuin aktivoit mitään

VPN-muutos voi poistaa reitin, josta SSH-istuntosi riippuu, joten järjestä paluu ennen profiilin aktivoimista. Konsolikäyttö, verkon ulkopuolinen hallintaosoite tai ajastettu palautus kaikki lasketaan; toivo siitä, että muutos toimii, ei lasketa.

sudo systemctl status NetworkManager
ip route show default
ss -tn state established '( sport = :22 )'

Aktivoi vain aiottu profiili ja vahvista sitten etäisännästä: oletusreitti, SSH-paluupolku ja yksi resurssi, joka pitäisi olla saavutettavissa tunnelin kautta. Onnistunut tarkistus kannettavaltasi testaa kannettavan polun eikä kerro mitään etäisännästä. Jos istunto katkeaa, käytä palautuspolkua sen sijaan että yhdistäisit uudelleen sokkona. Profiilin tallentaminen ei ole aktivointia, eikä aktivointi ole vahvistamista.

Kirjaa UUID, muuttamasi ominaisuuksien arvot ja komennot, joilla ne vahvistit. Seuraava henkilö, joka koskettaa tätä isäntää, tarvitsee kaikki kolme, ja loki on arvokkaampi kuin yhteenveto, joka sanoo VPN:n korjatun. Tarkistuslista, joka päättyy ilman palautusmerkintää, on puolikas lista.

Aiheeseen liittyvät artikkelit