Al terminal apareix un missatge sobre systemd-tty-ask-password-agent i el túnel no està aixecat. La lectura temptadora és que la VPN ha rebutjat una contrasenya i que alguna cosa ara espera una correcció. És més exacte dir que un servei ha demanat a systemd una entrada interactiva i que la sol·licitud encara no s'ha respost. Quin servei ho ha demanat i quin secret vol són dues preguntes que podeu resoldre abans d'escriure res.

Dues condicions decideixen qui ha de respondre

La primera condició és si heu iniciat aquesta instància deliberadament. Una sol·licitud que segueix una acció vostra és vostra per respondre, i una que apareix sense una acció corresponent pertany a una altra cosa. La segona és si el secret és autenticació de compte o protecció de clau, perquè això viu en llocs diferents i viatja per camins de codi diferents. Totes dues respostes són visibles al registre si mireu abans d'actuar.

Quan totes dues respostes són clares, la decisió és simple: responeu pel camí d'indicatiu admès del mateix servei. Quan alguna no és clara, el moviment correcte és investigar en lloc d'escriure una contrasenya en un indicatiu que no podeu atribuir.

Aquesta és tota la regla, i val la pena dir-la abans de les ordres. Tot el que segueix en deriva.

Llista la sol·licitud abans d'escriure res

L'agent pot enumerar què està pendent sense respondre res. sudo systemd-tty-ask-password-agent --list imprimeix les sol·licituds pendents, i aquesta sortida és l'evidència que necessiteu per connectar un indicatiu amb una unitat. Llegiu-lo abans de donar una credencial i manteniu les descripcions de les sol·licituds fora de qualsevol enganxament de diagnòstic públic.

Correlacioneu el llistat amb l'operació que heu iniciat i amb la unitat que la posseeix. Si res del llistat coincideix amb la vostra acció, l'indicatiu que heu vist pertany a un altre servei i no és vostre de resoldre. El nom de la unitat al llistat és l'únic enllaç fiable entre un indicatiu i un servei.

No respongueu una sol·licitud que no podeu atribuir. El cost d'esperar és un retard, mentre que el cost de respondre l'indicatiu equivocat és una credencial al lloc equivocat.

Quin secret necessita realment la instància?

auth-user-pass fa referència a l'autenticació del compte al servei VPN, i sense un fitxer de credencials el comportament documentat és preguntar a la consola. askpass en canvi obté la frase de pas que desbloqueja el material de clau protegit, i ho fa abans que el procés passi a segon pla. Són secrets diferents amb vides diferents.

Els formats de fitxer també difereixen. La forma de compte espera una línia de nom d'usuari i una línia de contrasenya, mentre que el fitxer de frase de pas de la clau llegeix la primera línia com a contrasenya. Copiar la recepta del fitxer de credencials de l'altre rol sol produir un altre indicatiu en lloc d'una solució. Un fitxer amb la forma equivocada és pitjor que cap fitxer, perquè la fallada es trasllada a un lloc que ningú no mira.

Comproveu quina directiva utilitza la instància abans de decidir què escriure. El nom de la directiva us diu per a quin secret és l'indicatiu.

Què fa --query que --list no fa

--query processa cada sol·licitud pendent al terminal que el crida, que és una acció molt més àmplia que respondre un indicatiu. No és un selector d'OpenVPN i en una màquina ocupada pot respondre sol·licituds d'altres unitats. El mode de vigilància encara és més ampli, perquè continua gestionant les sol·licituds a mesura que arriben.

Utilitzeu el mecanisme més estret que funcioni. Per a un sol servei, el flux d'indicatiu propi d'aquest servei és més estret que un agent global, i manté la resposta lligada a la unitat que ha preguntat.

Convertir una sol·licitud puntual en un agent global desatès perquè un avís ha aparegut una vegada és com una molèstia temporal esdevé un disseny permanent. La mateixa cautela s'aplica a desactivar les unitats de notificació de contrasenya a tot l'amfitrió.

Decidiu, i després registreu l'elecció

Per a un desplegament desatès, acordeu la font de credencials, els permisos del fitxer i el calendari de renovació amb qui posseeix la connexió. Un segon factor interactiu pot necessitar una persona o una identitat de servei dedicada. Suprimir l'indicatiu no produeix aquesta autenticació, i eliminar auth-user-pass només trenca un servei que el necessita.

Després de la interacció, mireu la mateixa instància pel seu proper esdeveniment i proveu el recurs privat. Si no hi ha res pendent, torneu a l'estat de la instància en lloc d'iniciar cada unitat OpenVPN de l'amfitrió.

Articles relacionats