Vložíte jednořádkový inštalačný príkaz z návodu, stlačíte Enter a dostanete curl: (77). Správa spomína umiestnenia overenia certifikátu, takže inštinkt je predpokladať, že certifikát poskytovateľa VPN je pokazený, a siahnuť po prepínači, ktorý overenie preskočí. To čítanie je nesprávne a konanie podľa neho mení lokálny problém so súborom na bezpečnostné rozhodnutie. Vráťme sa na začiatok.

Krok 1: prečítajte si, čo číslo znamená

Chyba 77 sa týka lokálneho vstupu CA: curl nedokázal prečítať ani načítať certifikátový materiál, ktorému mal dôverovať. Chyba 60 je tá o protistrane, keď reťazec servera neprejde overením. V návodoch stoja vedľa seba a znamenajú opačné veci.

Ak váš výstup hovorí 77, server nikdy nebol problém. Klient nedokázal otvoriť súbor, ktorý chcel použiť na kontrolu, a to je problém cesty, oprávnení alebo balenia na vašom počítači.

Krok 2: prečítajte si príkaz, ktorý ste skopírovali

Skopírované príkazy skrývajú znaky. Malé -l je --list-only, ktoré sa vzťahuje na vypisovanie protokolov. Veľké -L je --location, ktoré nasleduje presmerovanie HTTP. Nie sú to alternatívne zápisy a návod, ktorý píše jedno, zatiaľ čo opisuje druhé, posiela ľudí po ceste presmerovania, ktorá nebola nikdy zamýšľaná.

Nasledovanie presmerovania neopraví cestu k úložisku dôvery a nedokáže, že konečný hostiteľ je vydavateľ, ktorého ste mysleli. Ak príkaz pochádza z príspevku na fóre, prepíšte ho z vlastných pokynov projektu namiesto dôvery vloženému textu.

Krok 3: zistite, ktorý vstup CA tento build používa

Začnite identifikáciou binárky, pretože odpoveď závisí od toho, ako bola skompilovaná:

curl --version

Zapíšte verziu a TLS backend. Build s natívnym úložiskom dôvery číta systémové úložisko cez knižnicu TLS, zatiaľ čo build nasmerovaný na balík číta súbor. Explicitný --cacert, nastavenie CURL_CA_BUNDLE alebo obal shellu môžu ktorýkoľvek z nich prepísať, takže inštalácia z balíka sa nemusí dotknúť súboru, ktorý skutočne zlyháva.

Pri úložisku založenom na súbore skontrolujte tri veci v poradí: či cesta existuje, či ju účet, ktorý príkaz volá, môže prečítať a či obsahuje materiál CA, ktorý očakávate. Balík s nesprávnymi oprávneniami zlyháva rovnako ako chýbajúci a oba zlyhávajú pred akoukoľvek sieťovou konverzáciou o serveri.

Krok 4: opravte vstup, nie overovanie

Obnovte podporovanú konfiguráciu dôvery prostredníctvom toho, komu patrí: distribučného balíka, vašej správy konfigurácie alebo dokumentovanej premennej prostredia. Cieľom je čitateľný a správny vstup CA pre túto binárku.

Neprepínajte URL na HTTP, nepridávajte --insecure a nedôverujte certifikátu skopírovanému z nevysvetleného stiahnutia. Každá z týchto zmien mení to, čo ste ochotní prijať, namiesto toho, aby opravila to, čo curl nedokázal prečítať, a zmena zvyčajne prežije incident.

Referenciou pre čísla je katalóg chýb curl, a je dosť krátky na to, aby ste si ho raz poriadne prečítali.

Krok 5: stiahnite, pozrite sa, potom spustite

Stiahnite inštalátor do súboru namiesto toho, aby ste ho v tom istom príkaze posielali do shellu. Táto jediná zmena oddeľuje prenos, ktorý môžete skontrolovať, od kódu, ktorý beží s vašimi oprávneniami.

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

Skontrolujte, či je odpoveď očakávaný skript a nie HTML chybová stránka, oznámenie o presmerovaní alebo prázdny súbor. Ak vydavateľ poskytuje kontrolný súčet alebo podpis, overte ho cez ich dokumentovaný proces vydania, nie cez hodnotu citovanú v tom istom vlákne fóra.

Pamätajte, čo HTTPS urobil a čo nie. Overil prenos k hostiteľovi, s ktorým ste sa spojili; nepreskúmal obsah skriptu a nehovorí vám, či je vydavateľ dôveryhodný.

Krok 6: držte inštalačné kroky oddelene

Stiahnutie súboru, inštalácia klienta, konfigurácia tunela a overenie trás sú štyri operácie so štyrmi rôznymi režimami zlyhania. Robiť ich po jednom znamená, že chyba neskôr v poradí má jednu zjavnú príčinu namiesto štyroch kandidátov.

Ak inštalácia uspeje a tunel sa zdvihne, overte trasy a jeden skutočný cieľ pred zatvorením tiketu. Chyba curl je opravená, keď jednoduchý curl -I https://example.invalid znova funguje, nie keď si inštalátor prestane sťažovať.

Súvisiace články