Terminale pasirodo pranešimas apie systemd-tty-ask-password-agent, o tunelis nepakeltas. Viliojantis aiškinimas yra tas, kad VPN atmetė slaptažodį ir kažkas dabar laukia pataisymo. Tiksliau būtų sakyti, kad tarnyba paprašė systemd interaktyvios įvesties, o užklausa dar neatsakyta. Kuri tarnyba paklausė ir kokios paslapties nori — du klausimai, kuriuos galite išspręsti prieš ką nors rašydami.

Kas turėtų atsakyti, sprendžia dvi sąlygos

Pirmoji sąlyga — ar šią instanciją paleidote sąmoningai. Užklausa, kuri seka po jūsų veiksmo, yra jūsų atsakyti, o ta, kuri pasirodo be atitinkamo veiksmo, priklauso kam nors kitam. Antroji — ar paslaptis yra paskyros autentifikavimas, ar rakto apsauga, nes jos gyvena skirtingose vietose ir keliauja skirtingais kodo keliais. Abu atsakymai matomi žurnale, jei pažvelgsite prieš veikdami.

Kai abu atsakymai aiškūs, sprendimas paprastas: atsakykite per pačios tarnybos palaikomą užklausos kelią. Kai kuris nors neaiškus, teisingas žingsnis yra tirti, o ne rašyti slaptažodį į užklausą, kurios negalite priskirti.

Tai visa taisyklė, ir verta ją pasakyti prieš komandas. Viskas žemiau išplaukia iš jos.

Išvardykite užklausą prieš ką nors rašydami

Agentas gali išvardyti, kas laukia, nieko neatsakydamas. sudo systemd-tty-ask-password-agent --list išspausdina neįvykdytas užklausas, ir ši išvestis yra įrodymas, kurio reikia užklausai susieti su vienetu. Perskaitykite ją prieš pateikdami prisijungimo duomenis ir laikykite užklausų aprašymus už bet kokio viešo diagnostikos įklijavimo ribų.

Suderinkite sąrašą su pradėta operacija ir su vienetu, kuriam ji priklauso. Jei niekas sąraše neatitinka jūsų veiksmo, matyta užklausa priklauso kitai tarnybai ir ne jums ją spręsti. Vieneto pavadinimas sąraše yra vienintelis patikimas ryšys tarp užklausos ir tarnybos.

Neatsakykite į užklausą, kurios negalite priskirti. Laukimo kaina yra delsimas, o atsakymo į netinkamą užklausą kaina yra prisijungimo duomenys netinkamoje vietoje.

Kokios paslapties instancijai iš tikrųjų reikia?

auth-user-pass susijęs su paskyros autentifikavimu VPN tarnyboje, o be prisijungimo duomenų failo dokumentuotas elgesys yra klausti konsolėje. askpass vietoj to gauna slaptafrazę, kuri atrakina apsaugotą raktų medžiagą, ir tai daro prieš procesui pereinant į foną. Tai skirtingos paslaptys su skirtinga gyvavimo trukme.

Failų formatai taip pat skiriasi. Paskyros forma tikisi vartotojo vardo eilutės ir slaptažodžio eilutės, o rakto slaptafrazės failas pirmąją eilutę skaito kaip savo slaptažodį. Prisijungimo duomenų failo recepto kopijavimas iš kito vaidmens paprastai duoda dar vieną užklausą, o ne sprendimą. Netinkamos formos failas yra blogiau nei jokio failo, nes gedimas persikelia į vietą, kurios niekas neprižiūri.

Prieš nuspręsdami, ką rašyti, patikrinkite, kurią direktyvą instancija naudoja. Direktyvos pavadinimas pasako, kuriai paslapčiai skirta užklausa.

Ką daro --query, ko nedaro --list

--query apdoroja kiekvieną laukiančią užklausą kviečiančiame terminale, o tai yra daug platesnis veiksmas nei atsakyti į vieną užklausą. Tai ne OpenVPN selektorius, ir užimtoje mašinoje jis gali atsakyti į kitiems vienetams priklausančias užklausas. Stebėjimo režimas dar platesnis, nes jis ir toliau apdoroja užklausas joms atvykstant.

Naudokite siauriausią veikiantį mechanizmą. Vienai tarnybai jos pačios užklausos eiga yra siauresnė nei pasaulinis agentas, ir ji išlaiko atsakymą susietą su vienetu, kuris paklausė.

Vienkartinės užklausos pavertimas nepriežiūrimu pasauliniu agentu vien todėl, kad pranešimas pasirodė kartą, yra kelias, kuriuo laikinas nepatogumas tampa nuolatiniu dizainu. Ta pati atsargumo priemonė galioja išjungiant slaptažodžio pranešimų vienetus visame host'e.

Nuspręskite ir tada užrašykite pasirinkimą

Nepriežiūrimam diegimui suderinkite prisijungimo duomenų šaltinį, failo leidimus ir atnaujinimo grafiką su tuo, kam priklauso ryšys. Interaktyviam antrajam veiksniui gali prireikti žmogaus arba specialios tarnybos tapatybės. Užklausos slopinimas nesukuria to autentifikavimo, o auth-user-pass pašalinimas sugadina tik tą tarnybą, kuriai jo reikia.

Po sąveikos pažiūrėkite į tą pačią instanciją dėl jos kito įvykio ir išbandykite privatų išteklių. Jei nieko nelaukia, grįžkite prie instancijos būsenos, o ne paleiskite kiekvieną OpenVPN vienetą host'e.

Susiję straipsniai