Suteikite kiekvienai VPN paskyrai atskirą NetworkManager paleidiklį
Dvi paskyros viename šliuze turi du pavadintus profilius, o ne perrašytą naudotojo vardą. Nukreipkite paleidiklį į UUID ir leiskite agentui surinkti paslaptį.
Dvi VPN paskyros, vienas šliuzas ir darbalaukio piktograma, jungianti kaip paskutinis naudotojas. Įprasta priežastis – paleidiklis, kuris prieš pat prisijungdamas perrašo bendro profilio naudotojo vardą, arba toks, kuris ieško rodomo vardo, kurį abu profiliai kartais turi. NetworkManager jau skiria profilius pagal UUID, tad piktograma gali įvardyti tiksliai vieną jų ir palikti tapatybę ramybėje. Ko ji neturėtų nešti, tai slaptažodžio.
Paleidiklis yra rodyklė, o ne prisijungimo duomenų saugykla.
Raskite UUID ir patvirtinkite tapatybę
Išvardykite išsaugotus ryšius ir perskaitykite UUID, ryšio ID ir naudotojo vardą, kurį saugo kiekvienas profilis. Prieš ką nors kurdami patvirtinkite, kuris profilis priklauso kuriai paskyrai, nes rodomas vardas yra etiketė, o ne raktas. Jei dviem paskyroms reikia skirtingų šliuzų ar skirtingų profilių, tai atskira konfigūravimo užduotis.
Naudokite UUID paleidiklyje. Paieška pagal rodomą vardą veikia tol, kol kas nors pervadina profilį, o tada piktograma jungiasi kaip netinkama paskyra arba kaip niekas.
Parašykite darbalaukio įrašą
Darbalaukio įrašui reikia tipo, pavadinimo ir vykdomosios eilutės. Komanda turėtų iškelti tą UUID ir leisti NetworkManager paprašyti paslapties, tam ir skirtas nmcli --ask connection up uuid .... Palikite Terminal=true, kad raginimas būtų matomas, kai reikia paslapties. Pakeiskite vietos žymeklį UUID, kurį iš tikrųjų stebėjote, ir nepridėkite apvalkalo tik tam, kad paslėptumėte raginimą.
Desktop Entry specifikacija apibrėžia Exec kaip programą ir jos argumentus. Tai ne apvalkalo scenarijus ir jam jo nereikia.
Leiskite agentui saugoti paslaptį
Paslaptys priklauso kiekvieno naudotojo agentui, raktų rinkiniui arba interaktyviam raginimui. Slaptažodis, esantis Exec, matomas procesų sąraše, darbalaukio faile ir bet kurioje ypatybių dialogo ekrano kopijoje. Jei profiliui reikia paslapties, leiskite palaikomam raginimui ją surinkti, o agentui ją atsiminti tam naudotojui.
--ask yra interaktyvus pagal dizainą. Tai ne receptas nepriežiūrimam automatizavimui ir negarantuoja, kad kiekvieną autentifikavimo iššūkį ar papildinį apskritai galima skriptuoti.
Nesiekite sudo
Leidimas keisti ar aktyvuoti ryšį yra NetworkManager leidimas, suteikiamas per jo politiką, o ne Unix privilegija. Paleidus paleidiklį su sudo, procesas negauna kito naudotojo raktų rinkinio ir tai nepataiso šliuzo atmetimo. Bendroje mašinoje peržiūrėkite, kurios vietinės paskyros mato kuriuos profilius ir kam priklauso kiekviena paslaptis; atskiros piktogramos pačios savaime nesukuria izoliacijos.
Du aktyvūs to paties šliuzo profiliai taip pat gali konkuruoti dėl maršrutų arba pažeisti vienalaikiškumo taisyklę. Tai politikos klausimas, o ne paleidiklio klaida.
Patikrinkite visą veiksmą
Aktyvuokite paleidiklį kartą ir patvirtinkite tris dalykus: kuris UUID iškilo, kokią tapatybę matė šliuzas ir ar paslapties raginimas pasirodė ten, kur tikėjotės. Jei ryšys nepavyksta, išsaugokite pirmąjį klaidos pranešimą. Slaptažodžio pridėjimas prie komandų eilutės, kad spartusis klavišas atrodytų savarankiškas, paslepia tą klaidą ir sukuria blogesnę problemą.
Įrašykite UUID ir paskyrų atitikimą į komandos užrašus. Kitas žmogus, keisiantis profilį, turi žinoti, kuri piktograma nuo jo priklauso, ir būtent tas užrašas neleidžia pervadinimui tapti prastova.