Error 77 de curl: ubicaciones de verificación del certificado en una instalación de VPN
El error 77 es un fallo de entrada de CA local, no un certificado de servidor defectuoso. Encuentre el archivo de confianza que lee curl, corríjalo y revise el script antes de ejecutarlo.
Pega el comando de instalación de una línea de un tutorial, pulsas Enter y obtienes curl: (77). El mensaje menciona ubicaciones de verificación del certificado, así que el instinto es suponer que el certificado del proveedor de VPN está roto y buscar una opción que omita la verificación. Esa lectura es errónea, y actuar en consecuencia convierte un problema de archivo local en una decisión de seguridad. Retrocedamos hasta el principio.
Paso 1: lea qué significa el número
El error 77 se refiere a la entrada de CA local: curl no pudo leer ni cargar el material de certificado en el que se le había dicho que confiara. El error 60 es el de la otra parte, cuando la cadena del servidor no valida. Aparecen uno junto al otro en los tutoriales y significan cosas opuestas.
Si su salida dice 77, el servidor nunca fue el problema. El cliente no pudo abrir el archivo que quería usar para la comprobación, y eso es un problema de ruta, permisos o empaquetado en su máquina.
Paso 2: lea el comando que copió
Los comandos copiados esconden caracteres. La -l minúscula es --list-only, que se aplica a listar protocolos. La -L mayúscula es --location, que sigue una redirección HTTP. No son formas alternativas de escribir lo mismo, y un tutorial que escribe una mientras describe la otra manda a la gente por un camino de redirección que nunca se pretendió.
Seguir una redirección no repara la ruta de un almacén de confianza ni demuestra que el host final sea el editor que usted quería. Si el comando viene de una publicación de foro, vuelva a escribirlo a partir de las instrucciones del propio proyecto en lugar de confiar en lo pegado.
Paso 3: averigüe qué entrada de CA usa esa compilación
Empiece identificando el binario, porque la respuesta depende de cómo se compiló:
curl --versionAnote la versión y el backend TLS. Una compilación con almacén de confianza nativo lee el almacén del sistema a través de la biblioteca TLS, mientras que una compilación apuntada a un paquete lee un archivo. Un --cacert explícito, un ajuste CURL_CA_BUNDLE o un envoltorio de shell pueden anular cualquiera de los dos, así que una instalación por paquete quizá no toque el archivo que falla de verdad.
Para un almacén basado en archivo, compruebe tres cosas en orden: si la ruta existe, si la cuenta que invoca puede leerla y si contiene el material de CA que espera. Un paquete con permisos incorrectos falla igual que uno ausente, y ambos fallan antes de que haya cualquier conversación de red sobre el servidor.
Paso 4: repare la entrada, no la verificación
Restaure la configuración de confianza admitida a través de quien la posee: el paquete de la distribución, su gestión de configuración o la variable de entorno documentada. El objetivo es una entrada de CA legible y correcta para ese binario.
No cambie la URL a HTTP, no añada --insecure ni confíe en un certificado copiado de una descarga sin explicación. Cada uno de esos cambios altera lo que está dispuesto a aceptar en lugar de reparar lo que curl no podía leer, y el cambio suele sobrevivir al incidente.
La referencia de los números es el catálogo de errores de curl, y es lo bastante corto para leerlo una vez con atención.
Paso 5: descargue, mire y luego ejecute
Descargue el instalador a un archivo en lugar de canalizarlo a un shell en el mismo comando. Ese único cambio separa una transferencia que puede inspeccionar del código que se ejecuta con sus privilegios.
curl -fL -o vpn-installer.sh https://example.invalid/install.sh
file vpn-installer.sh
head -n 40 vpn-installer.shCompruebe que la respuesta es el script que esperaba y no una página de error HTML, un aviso de redirección o un archivo vacío. Si el editor proporciona una suma de comprobación o una firma, verifíquela mediante su proceso de publicación documentado y no un valor citado en el mismo hilo del foro.
Recuerde qué hizo HTTPS y qué no. Autenticó el transporte hasta el host al que contactó; no revisó el contenido del script y no le dice si el editor es de fiar.
Paso 6: mantenga separados los pasos de instalación
Descargar el archivo, instalar el cliente, configurar el túnel y validar las rutas son cuatro operaciones con cuatro modos de fallo distintos. Hacerlas de una en una significa que un error más adelante en la secuencia tiene una causa obvia en lugar de cuatro candidatas.
Si la instalación tiene éxito y el túnel sube, verifique las rutas y un destino real antes de cerrar el ticket. El error de curl queda corregido cuando un curl -I https://example.invalid sencillo vuelve a funcionar, no cuando el instalador deja de quejarse.