Os secretos non válidos son un problema do contedor, non unha regra de contrasinal
Pode que a credencial rexeitada nunca chegase á pasarela. Compare primeiro o contedor de entrada, a etapa de autenticación e a propia conta.
Ver «secretos non válidos» adoita levar a unha conclusión: á VPN non lle gusta a puntuación. Esa conclusión case sempre é errónea, porque a mensaxe adoita vir do procesamento local antes de que ningunha pasarela mirase a conta. Dous deseños entregan o mesmo contrasinal, un campo gráfico e un ficheiro de credenciais, e fallan en lugares distintos. Compare os contedores antes de simplificar un contrasinal que sempre estivo ben.
O erro chega antes ca a pasarela
A validación local, un almacén de secretos bloqueado, un axente ausente e un ficheiro de credenciais mal formado producen fallos que o usuario vive como un único rexeitamento. Ningún deles implica o servidor de autenticación. O rexeitamento da propia pasarela é un evento distinto, e normalmente chega con outra mensaxe e noutro momento. Ocorre despois de que exista un túnel e de que se transmitisen as credenciais.
Así que a primeira pregunta non é que caracteres son legais senón onde se detivo o intento. Un cliente que nunca abriu unha conexión non foi rexeitado por ninguén. Anote a etapa que observou, porque cada paso posterior depende desa clasificación.
A distinción tamén cambia quen o arranxa. Un problema de contedor pertence ao dispositivo e ao seu dono, mentres que un rexeitamento de conta pertence a quen opera o backend de autenticación.
Compare os contedores, non os caracteres
Un campo de contrasinal gráfico, unha entrada do chaveiro, un ficheiro de credenciais de dúas liñas e un secreto de automatización levan cada un o mesmo valor nun sobre distinto. O sobre ten as súas propias regras, e esas regras son as que adoitan romper. O valor raramente é o problema; o transporte do valor si o é. Manteña as dúas ideas separadas e o diagnóstico será máis curto.
| Where the value stops | What you see | What you check | Who owns the fix |
|---|---|---|---|
| GUI field or managed profile | A validation message before any connection opens | The selected authentication mode and whether the field holds the secret or the username | The device owner or the profile author |
| Keychain or secret agent | A prompt that keeps reappearing, or an agent error | Whether the agent is unlocked and holds an entry for this profile | The user who owns the keychain |
| Two-line credential file | A prompt for a password that was already supplied | Line count, line order and whether a trailing newline is present | Whoever generated the file |
| Shell argument or environment | Works interactively but fails in automation | Whether the shell expanded, trimmed or logged the value | Whoever wrote the automation |
Opcións de cliente de OpenVPN 2.6 da comunidade describen ese ficheiro de dúas liñas para auth-user-pass, incluído o comportamento cando falta a liña do contrasinal: entón o cliente pídeo. Ese único detalle explica toda unha clase de informes do tipo «pídeme un contrasinal que xa introducín». Tamén lle di que unha segunda liña baleira é un estado significativo e non unha escolla de formato inofensiva.
As comiñas son outra capa aparte: as comiñas dentro dun ficheiro de credenciais normal gárdanse como datos, mentres que un intérprete de ordes as elimina antes de que o programa vexa nada. O mesmo carácter é inofensivo nun sitio e estrutural no outro. Unha táboa non pode dicirlle que contedor usou o seu cliente, así que lea a configuración do propio cliente antes de escoller unha fila.
Os saltos de liña tamén son estruturais. Un ficheiro con campos delimitados por liñas non pode levar un valor que conteña un salto de liña, e iso é unha limitación do formato, non un xuízo sobre a forza do contrasinal. Use o mecanismo de entrega que admite o despregamento en lugar de recortar o secreto para que caiba nun ficheiro improvisado.
Cree o ficheiro de credenciais sen danos do intérprete
A ruta local máis segura mantén o secreto fóra do historial do intérprete e fóra da lista de argumentos do proceso. Lea ambos os campos de forma interactiva e despois escriba as dúas liñas que o cliente espera. Todo o demais pode quedar nun ficheiro de configuración fácil de revisar.
read -r VPN_USER
read -rs VPN_PASS
printf '%s\n%s\n' "$VPN_USER" "$VPN_PASS" > /etc/openvpn/client/creds
chmod 600 /etc/openvpn/client/creds
openvpn --config /etc/openvpn/client/office.conf --auth-user-pass /etc/openvpn/client/creds
Os dous primeiros comandos len o nome de usuario e despois o contrasinal sen mostralo, o terceiro escribe ambas as liñas, o cuarto restrinxe o ficheiro e o último inicia o cliente con ese ficheiro. Fixe que read -r conserva as barras invertidas, e ese é xusto o tipo de detalle que converte un contrasinal que funciona nun que falla cando se omite.
Evite construír o ficheiro cunha variable sen comiñas ou cun here-document cheo de expansións do intérprete. Ambos poden transformar caracteres antes de que cheguen ao ficheiro, e o fallo resultante parece un rexeitamento da VPN porque o contrasinal do disco é realmente distinto do que vostede coñece. Se o sospeita, compare a lonxitude en bytes do ficheiro co valor esperado, sen imprimir o secreto. Unha diferenza dun ou dous bytes é a sinatura dun accidente de comiñas.
Lea a etapa no primeiro erro
Conserve a primeira mensaxe concreta dun intento e despois clasifíquea. Un erro de validación local, unha chave privada ausente, un axente de secretos non dispoñible e un fallo de autenticación na pasarela son catro resultados distintos con catro donos distintos. Só un deles trata da conta.
Se a pasarela rexeita de verdade unha credencial entregada correctamente, revise a conta, o backend de autenticación e calquera desafío requirido co administrador. Un fallo de autenticación xenérico non nomea ningún carácter prohibido.
Restaure o valor aprobado mediante o mecanismo correcto en lugar de reducilo a letras e díxitos. A política de contrasinais pertence ao operador, e unha volta que a incumpre en silencio non é unha corrección. Tamén oculta o defecto real á seguinte persoa, que atopará o mesmo erro cun contrasinal máis feble e sen mellores ideas.