Налепите једноредну инсталациону команду из упутства, притиснете Enter и добијете curl: (77). Порука помиње локације провере сертификата, па инстинкт каже да претпоставите да је сертификат VPN провајдера покварен и да посегнете за заставицом која прескаче проверу. То читање је погрешно, а поступање по њему претвара локални проблем са датотеком у безбедносну одлуку. Вратимо се на почетак.

Корак 1: прочитајте шта број значи

Грешка 77 односи се на локални CA унос: curl није могао да прочита или учита материјал сертификата коме је требало да верује. Грешка 60 је она о супротној страни, када ланац сервера не прође проверу. Оне се појављују једна поред друге у упутствима и значе супротне ствари.

Ако ваш излаз каже 77, сервер никада није био проблем. Клијент није могао да отвори датотеку коју је хтео да користи за проверу, а то је проблем путање, дозвола или паковања на вашем рачунару.

Корак 2: прочитајте команду коју сте копирали

Копиране команде крију знакове. Мало -l је --list-only, што се односи на приказ протокола. Велико -L је --location, што прати HTTP преусмеравање. То нису алтернативни правописи, а упутство које пише једно док описује друго шаље људе путањом преусмеравања која никада није била намеравана.

Праћење преусмеравања не поправља путању складишта поверења и не доказује да је коначни хост онај издавач који сте мислили. Ако команда долази са форумске објаве, прекуцајте је из сопствених упутстава пројекта уместо да верујете налепљеном тексту.

Корак 3: откријте који CA унос користи та изградња

Почните идентификацијом бинарне датотеке, јер одговор зависи од тога како је компајлирана:

curl --version

Запишите верзију и TLS позадину. Изградња са изворним складиштем поверења чита системско складиште кроз TLS библиотеку, док изградња усмерена на пакет чита датотеку. Експлицитан --cacert, подешавање CURL_CA_BUNDLE или shell омотач могу да надјачају било које од два, па инсталација из пакета можда не дотакне датотеку која заправо не успева.

За складиште засновано на датотеци, проверите три ствари по реду: да ли путања постоји, може ли је рачун који извршава команду прочитати и да ли садржи CA материјал који очекујете. Пакет са погрешним дозволама не успева исто као онај који недостаје, и оба не успевају пре било каквог мрежног разговора о серверу.

Корак 4: поправите унос, не проверу

Вратите подржану конфигурацију поверења преко онога који је поседује: дистрибуцијски пакет, ваше управљање конфигурацијом или документована променљива окружења. Циљ је читљив и исправан CA унос за ту бинарну датотеку.

Не пребацујте URL на HTTP, не додајте --insecure, и не верујте сертификату копираном из необјашњеног преузимања. Свака од тих промена мења шта сте спремни да прихватите уместо да поправи оно што curl није могао да прочита, а промена обично надживи инцидент.

Референца за бројеве је каталог грешака curl, и довољно је кратак да се једном пажљиво прочита.

Корак 5: преузмите, погледајте, па извршите

Преузмите инсталер у датотеку уместо да га у истој команди прослеђујете у shell. Та једна промена раздваја пренос који можете да прегледате од кода који се извршава са вашим привилегијама.

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

Проверите да је одговор скрипта коју очекујете, а не HTML страница грешке, обавештење о преусмеравању или празна датотека. Ако издавач даје контролну суму или потпис, проверите је кроз њихов документовани процес издавања, а не кроз вредност цитирану у истој форумској теми.

Запамтите шта је HTTPS урадио, а шта није. Аутентификовао је пренос до хоста са којим сте се повезали; није прегледао садржај скрипте и не каже вам да ли је издавач поуздан.

Корак 6: држите кораке инсталације одвојено

Преузимање датотеке, инсталирање клијента, конфигурисање тунела и провера рута су четири операције са четири различита начина неуспеха. Њихово извођење једно по једно значи да грешка касније у низу има један очигледан узрок уместо четири кандидата.

Ако инсталација успе и тунел се подигне, проверите руте и једну стварну дестинацију пре затварања тикета. Грешка curl је поправљена када једноставна curl -I https://example.invalid поново ради, а не када инсталер престане да се жали.

Повезани чланци