curl greška 77: mjesta provjere certifikata pri instalaciji VPN-a
Greška 77 je lokalni neuspjeh CA ulaza, a ne loš serverski certifikat. Pronađite datoteku povjerenja koju curl čita, popravite je i pregledajte skriptu prije pokretanja.
Zalijepite instalacijsku naredbu od jednog retka iz tutorijala, pritisnete Enter i dobijete curl: (77). Poruka spominje mjesta provjere certifikata, pa je instinkt pretpostaviti da je certifikat VPN pružatelja pokvaren i posegnuti za zastavicom koja preskače provjeru. To čitanje je pogrešno, a postupanje po njemu pretvara lokalni problem s datotekom u sigurnosnu odluku. Vratimo se na početak.
Korak 1: pročitajte šta broj znači
Greška 77 tiče se lokalnog CA ulaza: curl nije mogao pročitati ni učitati certifikatni materijal kojem mu je rečeno da vjeruje. Greška 60 je ona o drugoj strani, gdje lanac poslužitelja ne prolazi validaciju. U tutorijalima stoje jedna uz drugu, a znače suprotno.
Ako vaš izlaz kaže 77, poslužitelj nikada nije bio problem. Klijent nije mogao otvoriti datoteku koju je htio koristiti za provjeru, a to je problem putanje, dozvola ili pakiranja na vašem računalu.
Korak 2: pročitajte naredbu koju ste kopirali
Kopirane naredbe skrivaju znakove. Malo slovo -l je --list-only, koje se odnosi na popis protokola. Veliko slovo -L je --location, koje slijedi HTTP preusmjeravanje. To nisu alternativni načini pisanja, a tutorijal koji piše jedno dok opisuje drugo šalje ljude putem preusmjeravanja koji nikada nije bio zamišljen.
Praćenje preusmjeravanja ne popravlja putanju trust storea i ne dokazuje da je konačni host izdavač kojeg ste mislili. Ako naredba dolazi s forumske objave, prepišite je iz vlastitih uputa projekta umjesto da vjerujete zalijepljenom tekstu.
Korak 3: otkrijte koji CA ulaz koristi ta gradnja
Počnite identifikacijom binarne datoteke, jer odgovor zavisi od toga kako je kompajlirana:
curl --versionZabilježite verziju i TLS pozadinu. Gradnja s izvornim trust storeom čita sistemski store kroz TLS biblioteku, dok gradnja usmjerena na bundle čita datoteku. Eksplicitni --cacert, postavka CURL_CA_BUNDLE ili shell omotač mogu nadjačati bilo koje od toga, pa instalacija iz paketa možda ne dira datoteku koja zapravo ne uspijeva.
Za store zasnovan na datoteci provjerite tri stvari po redu: postoji li putanja, može li je račun koji poziva pročitati i sadrži li CA materijal koji očekujete. Bundle s pogrešnim dozvolama ne uspijeva jednako kao onaj koji nedostaje, i oba ne uspiju prije bilo kakvog mrežnog razgovora o poslužitelju.
Korak 4: popravite ulaz, a ne provjeru
Vratite podržanu konfiguraciju povjerenja preko onoga kome pripada: distribucijskog paketa, vašeg upravljanja konfiguracijom ili dokumentirane varijable okruženja. Cilj je čitljiv i ispravan CA ulaz za tu binarnu datoteku.
Ne prebacujte URL na HTTP, ne dodajte --insecure i ne vjerujte certifikatu kopiranom s neobjašnjenog preuzimanja. Svaka od tih promjena mijenja ono što ste spremni prihvatiti umjesto da popravi ono što curl nije mogao pročitati, a promjena obično nadživi incident.
Referenca za brojeve je katalog curl grešaka, i dovoljno je kratak da se jednom pažljivo pročita.
Korak 5: preuzmite, pogledajte, pa izvršite
Preuzmite instalater u datoteku umjesto da ga u istoj naredbi prosljeđujete u shell. Ta jedna promjena razdvaja prijenos koji možete pregledati od koda koji se izvršava s vašim ovlastima.
curl -fL -o vpn-installer.sh https://example.invalid/install.sh
file vpn-installer.sh
head -n 40 vpn-installer.shProvjerite da je odgovor skripta koju očekujete, a ne HTML stranica greške, obavijest o preusmjeravanju ili prazna datoteka. Ako izdavač nudi kontrolni zbroj ili potpis, provjerite ga kroz njihov dokumentirani proces izdanja, a ne kroz vrijednost citiranu u istoj forumskoj temi.
Zapamtite šta je HTTPS učinio, a šta nije. Autentificirao je prijenos do hosta s kojim ste se spojili; nije pregledao sadržaj skripte i ne kaže vam je li izdavač pouzdan.
Korak 6: držite korake instalacije odvojenima
Preuzimanje datoteke, instalacija klijenta, konfiguracija tunela i validacija ruta četiri su operacije s četiri različita načina neuspjeha. Raditi ih jednu po jednu znači da greška kasnije u nizu ima jedan očigledan uzrok umjesto četiri kandidata.
Ako instalacija uspije i tunel se podigne, provjerite rute i jedno stvarno odredište prije nego zatvorite tiket. curl greška je popravljena kada obična curl -I https://example.invalid ponovno radi, a ne kada se instalater prestane žaliti.