Error 77 ng curl: mga lokasyon ng pagpapatunay ng sertipiko sa pag-install ng VPN
Ang error 77 ay isang lokal na pagkabigo sa input ng CA, hindi masamang sertipiko ng server. Hanapin ang trust file na binabasa ng curl, ayusin ito at suriin ang script bago patakbuhin.
I-paste mo ang one-liner na command ng installer mula sa tutorial, pindutin ang Enter at makakuha ng curl: (77). Binabanggit ng mensahe ang mga lokasyon ng pagpapatunay ng sertipiko, kaya ang instinct ay ipagpalagay na sira ang sertipiko ng provider ng VPN at humawak sa isang flag na lumalampas sa pagpapatunay. Mali ang pagbasa na iyon, at ang pag-ayon dito ay ginagawang desisyon sa seguridad ang isang lokal na problema sa file. Balikan natin ito mula sa simula.
Hakbang 1: basahin kung ano ang ibig sabihin ng numero
Ang error 77 ay tungkol sa lokal na input ng CA: hindi nabasa o na-load ng curl ang materyal ng sertipiko na sinabihang pagkatiwalaan nito. Ang error 60 ang tungkol sa kabilang panig, kapag hindi nagpapatunay ang chain ng server. Magkatabi silang lumalabas sa mga tutorial at magkasalungat ang kahulugan.
Kung sinasabi ng output mo na 77, hindi kailanman ang server ang problema. Hindi nabuksan ng client ang file na gusto nitong gamitin para sa pagsusuri, at ito ay problema sa path, pahintulot o packaging sa makina mo.
Hakbang 2: basahin ang command na kinopya mo
Itinatago ng mga kinopyang command ang mga character. Ang maliit na -l ay --list-only, na tumutukoy sa paglilista ng mga protocol. Ang malaking -L ay --location, na sumusunod sa isang HTTP redirect. Hindi ito mga alternatibong baybay, at ang tutorial na nagsusulat ng isa habang inilalarawan ang isa pa ay nagpapadala ng mga tao sa isang landas ng redirect na hindi kailanman sinadya.
Ang pagsunod sa redirect ay hindi nag-aayos ng path ng trust store at hindi nagpapatunay na ang huling host ay ang publisher na ibig mong sabihin. Kung ang command ay galing sa isang forum post, i-type muli ito mula sa sariling mga tagubilin ng proyekto sa halip na magtiwala sa paste.
Hakbang 3: alamin kung aling CA input ang ginagamit ng build na iyon
Simulan sa pagkilala sa binary, dahil ang sagot ay depende sa kung paano ito na-compile:
curl --versionItala ang bersyon at ang TLS backend. Ang build na gumagamit ng native trust store ay nagbabasa ng system store sa pamamagitan ng TLS library, habang ang build na nakaturo sa isang bundle ay nagbabasa ng file. Ang tahasang --cacert, isang setting na CURL_CA_BUNDLE o isang shell wrapper ay maaaring mag-override sa alinman sa dalawa, kaya ang pag-install mula sa package ay maaaring hindi mahawakan ang file na talagang nabibigo.
Para sa trust store na nakabatay sa file, suriin ang tatlong bagay sa pagkakasunod-sunod: kung may path, kung nababasa ito ng account na tumatawag sa command, at kung naglalaman ito ng CA material na inaasahan mo. Ang bundle na may maling pahintulot ay nabibigo nang katulad ng nawawala, at parehong nabibigo bago ang anumang usapan sa network tungkol sa server.
Hakbang 4: ayusin ang input, hindi ang pagpapatunay
Ibalik ang sinusuportahang configuration ng pagtitiwala sa pamamagitan ng may-ari nito: ang package ng distribusyon, ang iyong pamamahala ng configuration o ang dokumentadong environment variable. Ang layunin ay isang nababasang at tamang CA input para sa binary na iyon.
Huwag baguhin ang URL sa HTTP, huwag magdagdag ng --insecure, at huwag magtiwala sa sertipikong kinopya mula sa isang hindi ipinaliwanag na download. Binabago ng bawat isa sa mga pagbabagong iyon ang kung ano ang handa mong tanggapin sa halip na ayusin ang hindi nabasa ng curl, at ang pagbabago ay karaniwang mas matagal kaysa sa insidente.
Ang sanggunian para sa mga numero ay ang catalog ng mga error ng curl, at sapat itong maikli upang basahin nang mabuti nang isang beses.
Hakbang 5: i-download, tingnan, pagkatapos ay patakbuhin
Kunin ang installer sa isang file sa halip na i-pipe ito sa isang shell sa parehong command. Ang nag-iisang pagbabagong iyon ay naghihiwalay ng transfer na maaari mong siyasatin mula sa code na tumatakbo gamit ang iyong mga pribilehiyo.
curl -fL -o vpn-installer.sh https://example.invalid/install.sh
file vpn-installer.sh
head -n 40 vpn-installer.shSuriin na ang tugon ay ang script na inaasahan mo at hindi isang HTML error page, abiso ng redirect o walang laman na file. Kung ang publisher ay nagbibigay ng checksum o lagda, i-verify ito sa pamamagitan ng kanilang dokumentadong proseso ng release at hindi sa isang halagang sinipi sa parehong forum thread.
Tandaan kung ano ang ginawa at hindi ginawa ng HTTPS. Pinatotohanan nito ang transport patungo sa host na kinontak mo; hindi nito sinuri ang nilalaman ng script at hindi nito sinasabi kung mapagkakatiwalaan ang publisher.
Hakbang 6: panatilihing hiwalay ang mga hakbang sa pag-install
Ang pag-download ng file, pag-install ng client, pag-configure ng tunnel at pagpapatunay ng mga ruta ay apat na operasyon na may apat na magkakaibang paraan ng pagkabigo. Ang paggawa ng mga ito nang isa-isa ay nangangahulugang ang isang error mamaya sa pagkakasunod-sunod ay may isang malinaw na dahilan sa halip na apat na kandidato.
Kung nagtagumpay ang pag-install at umangat ang tunnel, i-verify ang mga ruta at isang tunay na destinasyon bago isara ang ticket. Ang error ng curl ay naayos kapag ang isang simpleng curl -I https://example.invalid ay gumana muli, hindi kapag tumigil sa pagrereklamo ang installer.