Redirecționarea X11 pune fereastra editorului pe laptopul dumneavoastră în timp ce procesul continuă să ruleze pe gazda la distanță. Acest decalaj este toată capcana: vă uitați la o fereastră locală și editați un profil la distanță, iar o presupunere greșită despre ce mașină deține modificarea poate întrerupe conexiunea SSH prin care lucrați. Lista de verificare de mai jos fixează gazda și profilul înainte de a se salva ceva. Fiecare pas are o condiție de oprire, așa că un eșec timpuriu este ieftin.

Pasul 1: numiți mașina care deține profilul

Rulați comenzile de identitate în shell-ul pe care urmează să îl configurați și citiți răspunsul în loc să îl presupuneți din prompt. Un nume de gazdă din prompt este un șir tipărit de shell-ul dumneavoastră; numele de gazdă al nucleului este cel în care are încredere restul acestei liste. Dacă cele două nu coincid, sunteți pe mașina greșită sau promptul este decorat de shell-ul local. Opriți-vă și reconectați-vă la gazda dorită înainte de a continua.

hostnamectl
hostname -f
ip -brief address

Următoarea întrebare este dacă această mașină ar trebui să găzduiască VPN-ul. Configurarea clientului laptopului și configurarea clientului gazdei la distanță produc rute, DNS și moduri de eșec diferite. Decideți pe care îl aveți în vedere înainte de a atinge un profil și scrieți decizia acolo unde o va găsi următoarea persoană.

Pasul 2: citiți profilul după UUID, nu după etichetă

NetworkManager identifică o conexiune după UUID, în timp ce numele este o etichetă pe care oricine o poate edita sau duplica. Enumerați ambele și potriviți intrarea pe care o aveți de fapt în vedere, mai ales pe o gazdă unde de-a lungul anilor au fost importate mai multe profiluri VPN.

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

Intrările salvate și conexiunile active răspund la întrebări diferite: prima enumeră ce există, a doua enumeră ce transportă trafic acum. Linia permisiunilor descrie politica locală pentru sesiunea dumneavoastră și nu spune nimic despre dacă gateway-ul VPN va accepta contul. Dacă profilul de care aveți nevoie nu este în lista salvată, opriți-vă aici, pentru că editarea intrării greșite este mai rea decât nicio editare.

După ce aveți UUID-ul, puneți-l într-o variabilă și folosiți acea variabilă în fiecare comandă ulterioară. Asta elimină o întreagă clasă de erori de copiere și lipire și face transcrierea reproductibilă.

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

Pasul 3: decideți dacă un editor grafic este instrumentul potrivit

Un editor care are nevoie de un prompt polkit sau de un agent de secrete nu îl va primi doar pentru că fereastra lui apare pe laptopul dumneavoastră. Acele componente rulează în contextul sesiunii la distanță, iar redirecționarea unui afișaj nu le redirecționează. Dacă editorul nu poate salva din cauza unei erori de autorizare sau de secret, afișajul nu este problema.

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

OpenSSH activează redirecționarea X11 cu -X și documentează precauția care o însoțește: gazda la distanță poate ajunge la afișajul dumneavoastră local, ceea ce este o graniță de încredere reală. Redirecționarea de încredere cu -Y elimină unele dintre aceste verificări și nu ar trebui să fie niciodată soluția reflexă pentru o aplicație care eșuează cu setările implicite. Dacă organizația dumneavoastră publică o metodă de administrare la distanță, folosiți-o în loc să inventați o variantă. În majoritatea cazurilor editorul de linie de comandă este suprafața mai mică și răspunsul mai bun.

Opriți-vă aici dacă singura cale funcțională necesită -Y și nu puteți explica de ce. Este o decizie pentru cel care deține politica de securitate, nu o ocolire de păstrat într-un script personal.

Pasul 4: păstrați o cale de recuperare înainte de a activa ceva

O modificare VPN poate elimina ruta de care depinde sesiunea dumneavoastră SSH, așa că pregătiți o cale de întoarcere înainte de a activa profilul. Accesul la consolă, o adresă de administrare în afara benzii sau o revenire programată contează toate; speranța că modificarea va funcționa nu contează.

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

Activați doar profilul dorit, apoi verificați de pe gazda la distanță: ruta implicită, calea de întoarcere SSH și o resursă care ar trebui să fie accesibilă prin tunel. O verificare reușită de pe laptopul dumneavoastră testează calea laptopului și nu spune nimic despre gazda la distanță. Dacă sesiunea cade, folosiți calea de recuperare în loc să vă reconectați orbește. Salvarea unui profil nu este activare, iar activarea nu este verificare.

Notați UUID-ul, valorile proprietăților pe care le-ați modificat și comenzile folosite pentru a le verifica. Următoarea persoană care atinge această gazdă va avea nevoie de toate trei, iar o transcriere valorează mai mult decât un rezumat care spune că VPN-ul a fost reparat. O listă de verificare care se termină fără o notă de revenire este jumătate de listă.

Articole similare