Vous collez la commande d’installation en une ligne d’un tutoriel, appuyez sur Entrée et obtenez curl: (77). Le message mentionne les emplacements de vérification du certificat, alors le réflexe est de supposer que le certificat du fournisseur VPN est cassé et de chercher une option qui ignore la vérification. Cette lecture est fausse, et agir ainsi transforme un problème de fichier local en décision de sécurité. Reprenons depuis le début.

Étape 1 : lisez ce que le numéro signifie

L’erreur 77 concerne l’entrée d’autorité de certification locale : curl n’a pas pu lire ni charger le matériel de certificat auquel on lui demandait de faire confiance. L’erreur 60 est celle qui concerne l’homologue, lorsque la chaîne du serveur ne se valide pas. Elles apparaissent côte à côte dans les tutoriels et signifient le contraire.

Si votre sortie affiche 77, le serveur n’a jamais été le problème. Le client n’a pas pu ouvrir le fichier qu’il voulait utiliser pour la vérification, et c’est un problème de chemin, de permissions ou d’empaquetage sur votre machine.

Étape 2 : lisez la commande que vous avez copiée

Les commandes copiées cachent des caractères. Le -l minuscule est --list-only, qui sert à lister les protocoles. Le -L majuscule est --location, qui suit une redirection HTTP. Ce ne sont pas des orthographes alternatives, et un tutoriel qui écrit l’un en décrivant l’autre envoie les gens sur un chemin de redirection qui n’a jamais été prévu.

Suivre une redirection ne répare pas un chemin de magasin de confiance et ne prouve pas que l’hôte final est l’éditeur que vous visiez. Si la commande vient d’un message de forum, retapez-la à partir des instructions du projet lui-même au lieu de faire confiance au collage.

Étape 3 : déterminez quelle entrée d’autorité de certification cette compilation utilise

Commencez par identifier le binaire, car la réponse dépend de la façon dont il a été compilé :

curl --version

Notez la version et le backend TLS. Une compilation qui utilise un magasin de confiance natif lit le magasin système via la bibliothèque TLS, tandis qu’une compilation pointée vers un paquet lit un fichier. Un --cacert explicite, un réglage CURL_CA_BUNDLE ou un wrapper shell peuvent remplacer l’un comme l’autre, si bien qu’une installation par paquet peut ne pas toucher le fichier qui échoue réellement.

Pour un magasin basé sur un fichier, vérifiez trois choses dans l’ordre : le chemin existe-t-il, le compte qui invoque peut-il le lire, et contient-il le matériel d’autorité de certification attendu. Un paquet avec de mauvaises permissions échoue exactement comme un paquet absent, et les deux échouent avant toute conversation réseau au sujet du serveur.

Étape 4 : réparez l’entrée, pas la vérification

Restaurez la configuration de confiance prise en charge par l’intermédiaire de son propriétaire : le paquet de la distribution, votre gestion de configuration ou la variable d’environnement documentée. L’objectif est une entrée d’autorité de certification lisible et correcte pour ce binaire.

Ne basculez pas l’URL en HTTP, n’ajoutez pas --insecure et ne faites pas confiance à un certificat copié depuis un téléchargement inexpliqué. Chacun de ces changements modifie ce que vous acceptez, au lieu de réparer ce que curl n’a pas pu lire, et le changement survit généralement à l’incident.

La référence pour les numéros est le catalogue des erreurs de curl, et il est assez court pour être lu une fois attentivement.

Étape 5 : téléchargez, regardez, puis exécutez

Récupérez l’installateur dans un fichier au lieu de le diriger vers un shell dans la même commande. Ce seul changement sépare un transfert que vous pouvez inspecter du code qui s’exécute avec vos privilèges.

curl -fL -o vpn-installer.sh https://example.invalid/install.sh
file vpn-installer.sh
head -n 40 vpn-installer.sh

Vérifiez que la réponse est le script attendu et non une page d’erreur HTML, un avis de redirection ou un fichier vide. Si l’éditeur fournit une somme de contrôle ou une signature, vérifiez-la via son processus de publication documenté plutôt qu’une valeur citée dans le même fil de forum.

Rappelez-vous ce que HTTPS a fait et n’a pas fait. Il a authentifié le transport vers l’hôte contacté ; il n’a pas examiné le contenu du script et ne vous dit pas si l’éditeur est digne de confiance.

Étape 6 : gardez les étapes d’installation séparées

Télécharger le fichier, installer le client, configurer le tunnel et valider les routes sont quatre opérations aux quatre modes d’échec différents. Les faire une par une signifie qu’une erreur plus loin dans la séquence a une cause évidente au lieu de quatre candidates.

Si l’installation réussit et que le tunnel monte, vérifiez les routes et une destination réelle avant de clôturer le ticket. L’erreur de curl est corrigée quand un curl -I https://example.invalid simple fonctionne à nouveau, pas quand l’installateur cesse de se plaindre.

Articles similaires