Перадача X11 змяшчае акно рэдактара на вашым ноўтбуку, пакуль працэс працягвае працаваць на аддаленым хасце. Гэтая прамежка — і ёсць пастка: вы глядзіце на лакальнае акно і рэдагуеце аддалены профіль, а памылковае меркаванне пра тое, якой машыне належыць змена, можа абарваць SSH-злучэнне, праз якое вы працуеце. Спіс праверкі ніжэй фіксуе хост і профіль, перш чым нешта будзе захавана. Кожны крок мае ўмову спынення, таму ранняя няўдача каштуе танна.

Крок 1: назавіце машыну, якой належыць профіль

Выканайце каманды ідэнтыфікацыі ў абалонцы, якую збіраецеся наладзіць, і прачытайце адказ, а не меркуйце пра яго па запрашэнні. Імя хоста ў запрашэнні — гэта радок, які надрукавала ваша абалонка; імя хоста ядра — гэта тое, чым давярае астатняя частка гэтага спіса. Калі яны не супадаюць, вы на няправільнай машыне або запрашэнне ўпрыгожана вашай лакальнай абалонкай. Спыніцеся і перападключыцеся да патрэбнага хоста, перш чым працягваць.

hostnamectl
hostname -f
ip -brief address

Наступнае пытанне — ці павінна гэтая машына наогул трымаць VPN. Наладка кліента ноўтбука і наладка кліента аддаленага хоста даюць розныя маршруты, розны DNS і розныя рэжымы збою. Вызначце, які з іх вы маеце на ўвазе, перш чым кранаць профіль, і запішыце рашэнне там, дзе яго знойдзе наступны чалавек.

Крок 2: чытайце профіль па UUID, а не па назве

NetworkManager ідэнтыфікуе злучэнне па UUID, а назва — гэта ярлык, які любы можа змяніць або скапіраваць. Пакажыце абодва і супастаўце менавіта той запіс, які вам патрэбны, асабліва на хасце, дзе за гады было імпартавана некалькі профіляў VPN.

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

Захаваныя запісы і актыўныя злучэнні адказваюць на розныя пытанні: першыя пералічваюць тое, што існуе, другія — тое, што зараз перавозіць трафік. Радок дазволаў апісвае лакальную палітыку для вашай сесіі і нічога не кажа пра тое, ці прыме VPN-шлюз уліковы запіс. Калі патрэбны профіль адсутнічае ў захаваным спісе, спыніцеся тут, бо рэдагаваць няправільны запіс горш, чым не рэдагаваць зусім.

Атрымаўшы UUID, змясціце яго ў зменную і выкарыстоўвайце гэтую зменную ў кожнай наступнай камандзе. Гэта прыбірае цэлы клас памылак капіравання і робіць стэнаграму ўзнаўляльнай.

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

Крок 3: вырашыце, ці графічны рэдактар — правільны інструмент

Рэдактар, якому патрэбна запыт polkit або агент сакрэтаў, не атрымае іх толькі таму, што яго акно з'явілася на вашым ноўтбуку. Гэтыя кампаненты працуюць у кантэксце аддаленай сесіі, а перадача дысплея не перадае іх. Калі рэдактар не можа захаваць з памылкай аўтарызацыі або сакрэту, праблема не ў дысплеі.

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

OpenSSH уключае перадачу X11 з дапамогай -X і дакументуе асцярожнасць, якая з гэтым звязана: аддалены хост можа дасягнуць вашага лакальнага дысплея, а гэта сапраўдная мяжа даверу. Давераная перадача з дапамогай -Y прыбірае частку гэтых праверак і ніколі не павінна быць рэфлекторным рашэннем для праграмы, якая падае ў стандартным рэжыме. Калі ваша арганізацыя публікуе метад аддаленага адміністравання, выкарыстоўвайце яго замест выдумвання варыянта. У большасці выпадкаў рэдактар каманднага радка — меншая паверхня і лепшы адказ.

Спыніцеся тут, калі адзіны працоўны шлях патрабуе -Y і вы не можаце патлумачыць чаму. Гэта рашэнне для таго, хто валодае палітыкай бяспекі, а не абыход, які варта трымаць у асабістым скрыпце.

Крок 4: трымайце шлях аднаўлення, перш чым нешта актываваць

Змена VPN можа выдаліць маршрут, ад якога залежыць ваша SSH-сесія, таму ўладкуйце шлях вяртання перад актывацыяй профілю. Доступ праз кансоль, адрас пазапалоснага кіравання або запланаваны адкат — усё гэта лічыцца; спадзяванне, што змена спрацуе, не лічыцца.

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

Актывуйце толькі патрэбны профіль, затым праверце з аддаленага хоста: маршрут па змаўчанні, зваротны шлях SSH і адзін рэсурс, які павінен быць дасягальны праз тунель. Паспяховая праверка з ноўтбука правярае шлях ноўтбука і нічога не кажа пра аддалены хост. Калі сесія абарвецца, выкарыстоўвайце шлях аднаўлення, а не падключайцеся наўздагад. Захаванне профілю — гэта не актывацыя, а актывацыя — не праверка.

Запішыце UUID, значэнні ўласцівасцей, якія вы змянілі, і каманды, якімі вы іх правяралі. Наступнаму чалавеку, які кране гэты хост, спатрэбяцца ўсе тры, а стэнаграма каштоўнейшая за зводку, якая кажа, што VPN выпраўлены. Спіс праверкі, які сканчаецца без нататкі пра адкат, — гэта палова спіса.

Падобныя артыкулы