Le o nome da opción ao pé da letra. Nomea unha clave, e a confusión comeza cando o ficheiro que se desbloquea se confunde coa conta que se autentica. Pega o contrasinal da conta nesa opción e o cliente tentará abrir con el un ficheiro de clave, o que falla por motivos que non teñen nada que ver co inicio de sesión VPN.

A parte confusa é que unha soa conexión pode necesitar lexitimamente os dous segredos. A autenticación con certificado de cliente pode requirir unha clave cifrada, e a mesma pasarela pode realizar despois un intercambio de autenticación de usuario unha vez aceptado o certificado. Ningún dos dous segredos satisface a outra etapa, e un fallo nun parece moito, desde fóra, a un fallo no outro.

Dous segredos, dous traballos distintos

Le os papeis como acceso ao ficheiro fronte a admisión na rede. O contrasinal da clave descifra a clave privada PEM indicada en --sslkey para que se poida presentar o certificado de cliente TLS. Ese descifrado ocorre localmente, dentro do proceso do cliente, e a frase de paso nunca viaxa á pasarela. O que ve a pasarela é o certificado e unha sinatura feita coa clave. O manual de OpenConnect mantén --key-password xunto a --certificate e --sslkey, e nas compilacións que poden usar unha clave gardada nun TPM a mesma opción leva no seu lugar o contrasinal da clave raíz de almacenamento.

O contrasinal da conta é doutro tipo. Entra no intercambio de autenticación: un formulario de usuario e contrasinal, un token, unha rolda SAML ou algunha combinación que anuncie a pasarela. Algúns despregamentos non o piden en absoluto cando o certificado é o único factor, e algúns pídeno mesmo despois dun certificado, porque o certificado demostra o dispositivo mentres que a conta demostra a persoa.

Mesturar as dúas cousas produce erros enganosos. Unha pasarela que rexeita un inicio de sesión adoita informar dun fallo de autenticación, mentres que unha frase de paso de clave incorrecta adoita fallar antes, cando a capa TLS non pode ler o ficheiro de clave. Son etapas distintas con solucións distintas, e os nomes parécense o suficiente como para que a xente os intercambie e despois persiga o rexistro equivocado. Fíxate en que aviso apareceu antes de cambiar calquera axuste, porque o texto do aviso é o diagnóstico máis barato que tes.

Cando se necesita realmente o contrasinal da clave

A opción só ten sentido cando hai unha clave cifrada que desbloquear. Se te conectas con usuario e contrasinal e sen certificado de cliente, --key-password non ten sobre que actuar, e incluílo non cambia nada. Se te conectas con --certificate e --sslkey, o propio formato do ficheiro de clave decide se se pedirá unha frase de paso.

Os dous segredos nun só comando son habituais en contornos xestionados: un certificado de dispositivo nunha clave cifrada, máis un inicio de sesión por usuario. A secuencia correcta é deixar que o cliente pida a frase de paso da clave localmente, completar o aperto de mans do certificado e despois xestionar por separado o aviso de conta da pasarela. Tentar encher ambos de antemán cun único script reutilizado é onde adoita comezar a confusión.

Un diagnóstico útil é mirar cando ocorre o fallo. Se o cliente se detén antes de que comece calquera autenticación de rede, sospeita do ficheiro de clave, do seu formato ou da frase de paso. Se a sesión TLS se establece e despois a pasarela rexeita o usuario, a clave fixo o seu traballo e o problema é o intercambio de conta.

Manter ambos os segredos fóra do historial da consola

Os argumentos da liña de ordes son lexibles por outros usuarios locais a través da táboa de procesos e a miúdo quedan capturados no historial da consola, en scripts e en transcricións de soporte. OpenConnect pode ler o contrasinal da conta desde a entrada estándar con --passwd-on-stdin, e a frase de paso da clave pode vir dun aviso interactivo ou dun axente en lugar dun argumento. Ningún mecanismo fai seguro o segredo por si só, pero ambos o manteñen fóra dos lugares máis expostos.

Os ficheiros merecen o mesmo coidado. Un script que escribe unha frase de paso nun ficheiro temporal debería crealo con permisos restrinxidos, borralo ao saír e evitar directorios lexibles por todos. Unha frase de paso que sobrevive á sesión nun directorio temporal é unha copia que esqueciches facer. As variables de contorno son visibles para os procesos fillos e a miúdo acaban reproducidas por ferramentas de depuración, así que non son unha mellora gratuíta fronte aos argumentos.

A saída de diagnóstico é a fuga silenciosa. Os rexistros do cliente con maior detalle poden mostrar corpos de solicitude ou valores de opcións, e unha transcrición de terminal copiada é fácil de pegar nun ticket, así que le a saída antes de compartila.

Un botón morto do escritorio é outra avaría

Unha entrada VPN de escritorio que mostra un indicador xiratorio e despois nada normalmente non é ningún problema de autenticación. O botón pertence a un xestor de rede, a un applet do fabricante ou a un complemento que inicia OpenConnect no teu nome, e un compoñente que falta ou un perfil ilexible poden producir exactamente ese síntoma. Averigua que proceso inicia o botón e le o seu erro antes de tocar as credenciais.

É tentador relaxar a verificación do certificado ou desactivar unha comprobación cando a interface gráfica se nega a conectar. Iso converte unha avaría de integración do cliente nunha rebaixa de seguridade e raramente arranxa o problema de arranque. Mantén intacta a verificación do servidor, confirma que o perfil apunta á pasarela prevista e comproba que o axudante que a interface espera está realmente instalado.

Unha lista breve separa os casos. Un fallo local antes de que saia ningún paquete apunta á clave ou á instalación do cliente. Un rexeitamento da pasarela tras a sesión TLS apunta ao intercambio de conta. Un botón que nunca inicia o cliente apunta á integración de escritorio. Tres avarías distintas, unha das cales é un contrasinal que estabas a piques de pegar na caixa equivocada.

Artigos relacionados