NetworkManager pode gardar un contrasinal VPN para que a conexión se levante sen que ninguén o escriba, e pode volver mostrar ese valor mediante o editor ou mediante nmcli --show-secrets. Hai tres modelos de propiedade dispoñibles, e o comportamento de visualización só é un síntoma do que escolleu. Escolla primeiro o modelo e despois defina o indicador que lle corresponde, en vez de ocultar un campo cun texto de recheo que confundirá a seguinte persoa.

Tres modelos de propiedade

O primeiro modelo pregunta cada vez. Non se garda nada, o segredo existe só durante a activación, e quen inicie a conexión debe saber o contrasinal. É a opción menos cómoda e a máis fácil de defender.

O segundo entrega o segredo a un chaveiro propiedade do usuario. O axente desbloquéase ao comezar a sesión e fornece o valor a demanda, o que o mantén fóra do ficheiro de conexión pero ata a conexión á sesión dese usuario. De aí seguen dúas condicións: o axente debe estar en execución e debe estar desbloqueado.

O terceiro garda unha credencial protexida para unha conexión de sistema. Sobrevive aos reinicios e funciona antes de que ninguén inicie sesión, e a cambio o valor reside no disco protexido por permisos de ficheiro e non por cifrado.

Cada modelo é razoable no contexto axeitado. O erro é mesturalos, e así un portátil acaba cun segredo en dous lugares e sen unha resposta clara sobre cal manda. Anote que modelo usa un perfil. Unha liña no manual do equipo aforra á seguinte persoa inventar un cuarto lugar onde mirar.

Lea o estado actual antes de cambialo

Mire o perfil e o estado do segredo como o usuario que xestiona a conexión. O segundo comando é o que lle di se o valor é realmente lexible.

nmcli connection show "Office VPN"
nmcli --show-secrets connection show "Office VPN"
sudo stat -c '%U %a %n' /etc/NetworkManager/system-connections/*.nmconnection

Un ficheiro de clave nese directorio adoita pertencer a root con modo 600. Iso mantén fóra os usuarios normais e non mantén fóra a root, o que importa cando a mesma máquina se comparte ou cando unha copia de seguridade se executa como root.

Os permisos de ficheiro son unha fronteira, non cifrado. Quen poida ler o ficheiro como root ten o contrasinal en texto claro. É un intercambio aceptable para un servidor sen supervisión e malo para unha estación de traballo compartida. Escribilo unha vez evita unha longa discusión sobre se o valor está protexido.

Que fai cada valor do indicador

O segredo de VPN leva unha propiedade flags, e os valores non son intuitivos só a partir dos números.

ValueMeaningPractical effect
0No special flagSecret is typically saved with the connection
1Agent-ownedA keyring or secret agent supplies it
2Not savedPrompted at each activation
4Not requiredConnection proceeds without asking

O comportamento efectivo tamén depende do complemento e de se hai un axente en execución, así que trate a táboa como o contrato e o comportamento observado como o que verifica. Un valor que funciona nun escritorio pode comportarse distinto nun servidor sen sesión. En esa fenda viven a maioría dos tíquetes confusos.

Defina a propiedade explicitamente en lugar de borrar unha liña e esperar. Un indicador ausente non é unha política, e a próxima actualización do paquete pode enchelo con algo que non pretendía.

Axuste o modelo a cando se inicia a conexión

Se a conexión só se inicia mentres un usuario ten a sesión iniciada, a propiedade do axente encaixa ben e mantén o segredo fóra do ficheiro. Se se inicia ao arrincar, antes de que exista ningunha sesión, un axente non lle pode axudar.

Esa é toda a decisión para a maioría das máquinas. Tamén explica unha clase de informes confusos nos que a conexión funciona de forma interactiva e falla tras un reinicio. O indicador nunca cambiou; cambiou o contexto.

Para o caso sen supervisión, a resposta práctica é un ficheiro restrinxido propiedade de root ou unha fonte de credenciais aprobada. Mantéñao fóra do perfil de conexión se ese perfil algunha vez se exporta ou se copia a outra máquina.

Se o valor xa era visible, cámbieo

Cambiar un indicador deixa intacto o contrasinal. Un valor que apareceu nunha captura de pantalla, no historial do shell, nun paquete enviado a soporte ou nun ficheiro que outros usuarios podían abrir debe considerarse revelado.

Cámbieo no servidor, despois corrixa o cliente e remate calquera sesión que se autenticase co anterior. Borrar a conexión local non revoga nada no outro extremo, e esa é a parte que a xente pasa por alto.

Despois deixe de poñer o contrasinal na liña de ordes. Acaba no historial do shell e pode aparecer nunha listaxe de procesos; use o aviso interactivo ou o axente.

Verifique reconectando

Repita o comando que mostrou o segredo e confirme que o campo xa non se imprime. Despois desconecte e reconecte, e reinicie se a conexión se inicia automaticamente, porque o fallo interesante só aparece cando cambia o contexto da sesión.

Se o segredo aínda aparece, entrégao outro perfil ou outro axente. Inspeccione a conexión activa e o chaveiro en lugar de borrar ficheiros ata que o síntoma se mova.

Artigos relacionados