În terminal apare un mesaj despre systemd-tty-ask-password-agent, iar tunelul nu este pornit. Interpretarea tentantă este că VPN-ul a respins o parolă și ceva așteaptă acum o corectare. Mai exact, un serviciu a cerut systemd o intrare interactivă, iar cererea nu a primit încă răspuns. Ce serviciu a întrebat și ce secret vrea sunt două întrebări pe care le poți rezolva înainte de a tasta ceva.

Cine ar trebui să răspundă decid două condiții

Prima condiție este dacă ai pornit această instanță în mod deliberat. O cerere care urmează unei acțiuni a ta este a ta de răspuns, iar una care apare fără o acțiune corespunzătoare aparține altcuiva. A doua este dacă secretul este autentificarea contului sau protecția cheii, pentru că acestea trăiesc în locuri diferite și călătoresc pe căi de cod diferite. Ambele răspunsuri sunt vizibile în jurnal dacă te uiți înainte de a acționa.

Când ambele răspunsuri sunt clare, decizia este simplă: răspunde prin calea de cerere acceptată a serviciului însuși. Când vreunul este neclar, mișcarea corectă este să investighezi, nu să tastezi o parolă într-o cerere pe care nu o poți atribui.

Asta este toată regula și merită spusă înaintea comenzilor. Tot ce urmează decurge din ea.

Listează cererea înainte de a tasta ceva

Agentul poate enumera ce este în așteptare fără să răspundă la nimic. sudo systemd-tty-ask-password-agent --list tipărește cererile în așteptare, iar acea ieșire este dovada de care ai nevoie pentru a lega o cerere de o unitate. Citește-o înainte de a furniza o acreditare și ține descrierile cererilor în afara oricărei lipiri de diagnostic publice.

Corelează lista cu operațiunea pe care ai pornit-o și cu unitatea care o deține. Dacă nimic din listă nu se potrivește cu acțiunea ta, cererea pe care ai văzut-o aparține altui serviciu și nu este a ta de rezolvat. Numele unității din listă este singura legătură fiabilă între o cerere și un serviciu.

Nu răspunde unei cereri pe care nu o poți atribui. Costul așteptării este o întârziere, în timp ce costul răspunsului la cererea greșită este o acreditare în locul greșit.

De ce secret are nevoie de fapt instanța?

auth-user-pass se referă la autentificarea contului la serviciul VPN, iar fără un fișier de acreditări comportamentul documentat este să întrebe în consolă. askpass obține în schimb fraza de acces care deblochează materialul de cheie protejat, și o face înainte ca procesul să treacă în fundal. Sunt secrete diferite cu durate de viață diferite.

Și formatele fișierelor diferă. Forma de cont așteaptă o linie de nume de utilizator și o linie de parolă, în timp ce fișierul frazei de acces a cheii citește prima linie ca parolă. Copierea rețetei fișierului de acreditări din celălalt rol produce de obicei încă o cerere în loc de o soluție. Un fișier cu forma greșită este mai rău decât niciun fișier, pentru că eșecul se mută într-un loc pe care nimeni nu îl supraveghează.

Verifică ce directivă folosește instanța înainte de a decide ce să tastezi. Numele directivei îți spune pentru ce secret este cererea.

Ce face --query și --list nu face

--query procesează fiecare cerere în așteptare pe terminalul apelant, ceea ce este o acțiune mult mai largă decât răspunsul la o singură cerere. Nu este un selector OpenVPN, iar pe o mașină aglomerată poate răspunde la cereri care aparțin altor unități. Modul de supraveghere este și mai larg, pentru că tratează în continuare cererile pe măsură ce sosesc.

Folosește cel mai îngust mecanism care funcționează. Pentru un singur serviciu, fluxul propriu de cerere al acelui serviciu este mai îngust decât un agent global și ține răspunsul legat de unitatea care a întrebat.

Transformarea unei cereri unice într-un agent global nesupravegheat pentru că a apărut o notificare o dată este felul în care o neplăcere temporară devine un design permanent. Aceeași prudență se aplică dezactivării unităților de notificare a parolei pe tot gazda.

Decide, apoi înregistrează alegerea

Pentru o implementare nesupravegheată, conveniți cu proprietarul conexiunii sursa acreditărilor, permisiunile fișierului și calendarul de reînnoire. Un al doilea factor interactiv poate avea nevoie de o persoană sau de o identitate de serviciu dedicată. Suprimarea cererii nu produce acea autentificare, iar eliminarea auth-user-pass doar strică un serviciu care are nevoie de el.

După interacțiune, uită-te la aceeași instanță pentru următorul ei eveniment și testează resursa privată. Dacă nimic nu este în așteptare, revino la starea instanței în loc să pornești fiecare unitate OpenVPN de pe gazdă.

Articole similare