Por que un servizo VPN iniciado no arranque non pode ler o teu chaveiro
Unha VPN no arranque non ten ningún axente de segredos desbloqueado do que tomar prestado. Le as marcas de segredo da conexión antes de restablecer un contrasinal que o servidor nunca rexeitou.
Unha conexión que funciona despois de iniciar sesión e falla antes adoita significar que o intento de arranque non puido obter un segredo, non que o servidor rexeitase un. A credencial existe; o contexto que a pide, non. Esa única distinción aforra un restablecemento de contrasinal innecesario.
Segue a petición: algo inicia a conexión antes de que exista unha sesión de escritorio, e o almacén de segredos que normalmente responde aínda non está desbloqueado. Os dous contextos non coinciden sobre quen posúe o segredo, e o perfil rexistra cal deles se espera que o proporcione.
Que pide realmente a ruta de arranque
Ao arrancar, NetworkManager iníciase como servizo do sistema sen sesión de usuario, sen D-Bus de sesión e sen chaveiro desbloqueado. Un perfil de conexión aínda se pode levantar, pero só con segredos que o servizo poida alcanzar por si mesmo. Todo o que posúe un axente de segredos queda esperando ata que unha persoa inicia sesión e o axente aparece. O servizo fai exactamente o que di a súa configuración; o perfil é o que ten que cambiar.
O fallo está escrito na conexión, non agochado nun chaveiro.
Ler as marcas de segredo dunha conexión
Pregunta á conexión que espera, non que recorda o escritorio. A columna de marcas responde directamente á pregunta e sobrevive aos reinicios no ficheiro de perfil do disco.
Comeza pola lista de perfís e confirma que conexión está configurada para levantarse soa. Despois volca unha conexión e le as marcas de contrasinal:
nmcli -f NAME,UUID,TYPE,AUTOCONNECT connection show nmcli connection show "Work VPN" | grep -i -E "password|secret|key" journalctl -b -u NetworkManager --grep "secret"
O primeiro comando confirma que perfís existen e se algún está configurado para conectarse automaticamente, que é como se inicia un intento sen supervisión. O segundo expón os valores das marcas, e o terceiro mostra o servizo queixándose de que ningún axente respondeu para un segredo dado. Unha liña de rexistro que nomea un segredo como propiedade dun axente é todo o diagnóstico nunha frase.
| Flag value | Where the secret lives | Behaviour before login |
|---|---|---|
| 0 | Stored in the connection profile | Available to the system service |
| 1 | Owned by a secret agent | Blocks until the agent is unlocked |
| 2 | Never stored | Prompts on every activation |
| 4 | Not required | Never requested at all |
Por que mover a conexión ao ámbito do sistema cambia a resposta
Unha conexión propiedade dun usuario actívase baixo o axente dese usuario, por iso funciona perfectamente en canto o escritorio está arriba. Movela ao ámbito do sistema quita o axente do camiño, así que o mesmo perfil compórtase distinto sen cambiar nin unha liña de configuración da VPN.
Ese movemento é un deseño lexítimo e leva un requisito: o segredo ten que ser accesible para o servizo do sistema. Gardalo no perfil, proporcionarlo mediante unha credencial de ámbito de sistema ou aceptar unha petición interactiva no momento adecuado son todas respostas válidas. Deixar a marca 1 e esperar, non.
Unha clave privada coa súa propia frase de paso engade unha segunda capa. Nin sequera un contrasinal de conta gardado desbloqueará unha clave que pide unha frase de paso, así que verifica que segredo pide realmente a etapa que falla antes de cambiar nada.
Que non facer e que facer no seu lugar
Facer que todos os ficheiros de credenciais sexan lexibles por calquera, ou desactivar a autenticación para que non faga falta ningunha petición, cambia unha molestia de arranque por unha exposición permanente. Ambos tamén ocultan a dependencia en lugar de resolvela, e a seguinte actualización da imaxe reintroduce o mesmo fallo.
Usa o mecanismo que a túa distribución documenta para a activación sen supervisión nesa etapa e despois confirma que as marcas do perfil coinciden con el. Comproba o resultado desde un arranque limpo, non desde un intérprete que xa ten un axente. Anota o propietario da conexión, a fonte do segredo e a etapa que debe funcionar, para que un cambio posterior de inicio automático non poida reintroducir en silencio unha dependencia de que alguén desbloquee primeiro un escritorio. A documentación é a diferenza entre un servizo arranxado e un que volve romper o próximo trimestre.
Proba desde un arranque limpo controlado, non desde un reintento manual tras iniciar sesión. O reintento ten éxito polo motivo polo que fallou o intento de arranque, e iso é xusto a evidencia que unha proba rápida destrúe.