Liität asentajan yhden rivin komennon opetusohjelmasta, painat Enteriä ja saat curl: (77). Viesti mainitsee varmenteen tarkistuspaikat, joten vaisto sanoo, että VPN-tarjoajan varmenne on rikki, ja tarttuu lippuun, joka ohittaa tarkistuksen. Tämä tulkinta on väärä, ja sen mukaan toimiminen muuttaa paikallisen tiedosto-ongelman turvallisuuspäätökseksi. Käydään se läpi alusta alkaen.

Vaihe 1: lue, mitä numero tarkoittaa

Virhe 77 koskee paikallista CA-syötettä: curl ei voinut lukea tai ladata varmennemateriaalia, jota sen piti luottaa. Virhe 60 koskee vastapuolta, kun palvelimen ketju ei vahvistu. Ne esiintyvät opetusohjelmissa vierekkäin ja tarkoittavat vastakkaisia asioita.

Jos tulosteesi sanoo 77, palvelin ei ollut koskaan ongelma. Asiakasohjelma ei voinut avata tiedostoa, jota se halusi käyttää tarkistukseen, ja se on polku-, käyttöoikeus- tai paketointiongelma koneellasi.

Vaihe 2: lue komento, jonka kopioit

Kopioidut komennot piilottavat merkkejä. Pieni -l tarkoittaa --list-only, joka koskee protokollien listaamista. Iso -L tarkoittaa --location, joka seuraa HTTP-uudelleenohjausta. Ne eivät ole vaihtoehtoisia kirjoitusasuja, ja opetusohjelma, joka kirjoittaa toisen ja kuvailee toisen, lähettää ihmiset uudelleenohjauspolulle, jota ei koskaan tarkoitettu.

Uudelleenohjauksen seuraaminen ei korjaa luottamusvaraston polkua eikä todista, että lopullinen isäntä on se julkaisija, jota tarkoitit. Jos komento tuli foorumiviestistä, kirjoita se uudelleen projektin omista ohjeista sen sijaan, että luottaisit liitettyyn tekstiin.

Vaihe 3: selvitä, mitä CA-syötettä kyseinen koontiversio käyttää

Aloita tunnistamalla binääri, koska vastaus riippuu siitä, miten se käännettiin:

curl --version

Kirjaa versio ja TLS-tausta. Natiivia luottamusvarastoa käyttävä koontiversio lukee järjestelmän varastoa TLS-kirjaston kautta, kun taas nippuun osoitettu koontiversio lukee tiedostoa. Eksplisiittinen --cacert, asetus CURL_CA_BUNDLE tai shell-kääre voi ohittaa kumman tahansa, joten pakettiasennus ei välttämättä koske tiedostoon, joka todella epäonnistuu.

Tiedostopohjaisen varaston kohdalla tarkista kolme asiaa järjestyksessä: onko polku olemassa, voiko komennon suorittava tili lukea sen ja sisältääkö se odottamasi CA-materiaalin. Väärin oikeuksin varustettu nippu epäonnistuu samalla tavalla kuin puuttuva, ja molemmat epäonnistuvat ennen mitään verkkokeskustelua palvelimesta.

Vaihe 4: korjaa syöte, älä tarkistusta

Palauta tuettu luottamusasetus sen omistajan kautta: jakelupaketti, konfiguraationhallintasi tai dokumentoitu ympäristömuuttuja. Tavoitteena on luettava ja oikea CA-syöte kyseiselle binäärille.

Älä vaihda URL-osoitetta HTTP:hen, älä lisää --insecure, äläkä luota varmenteeseen, joka on kopioitu selittämättömästä latauksesta. Jokainen näistä muutoksista muuttaa sitä, mitä olet valmis hyväksymään, sen sijaan että korjaisi sitä, mitä curl ei voinut lukea, ja muutos jää yleensä itse tapausta pidemmäksi.

Numerojen lähde on curl-virheluettelo, ja se on tarpeeksi lyhyt luettavaksi kerran kunnolla.

Vaihe 5: lataa, katso ja suorita vasta sitten

Hae asentaja tiedostoon sen sijaan, että putkittaisit sen shelliin samassa komennossa. Tämä yksi muutos erottaa tarkastettavan siirron koodista, joka suoritetaan oikeuksillasi.

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

Tarkista, että vastaus on odottamasi skripti eikä HTML-virhesivu, uudelleenohjausilmoitus tai tyhjä tiedosto. Jos julkaisija tarjoaa tarkistussumman tai allekirjoituksen, vahvista se heidän dokumentoidun julkaisuprosessinsa kautta, ei samassa foorumiketjussa siteeratun arvon perusteella.

Muista, mitä HTTPS teki ja mitä ei. Se todensi siirron isäntään, johon otit yhteyden; se ei tarkistanut skriptin sisältöä eikä kerro, onko julkaisija luotettava.

Vaihe 6: pidä asennusvaiheet erillään

Tiedoston lataaminen, asiakasohjelman asentaminen, tunnelin määrittäminen ja reittien vahvistaminen ovat neljä toimintoa, joilla on neljä eri epäonnistumistapaa. Yksi kerrallaan tekeminen tarkoittaa, että myöhemmällä virheellä jonossa on yksi ilmeinen syy neljän ehdokkaan sijaan.

Jos asennus onnistuu ja tunneli nousee, vahvista reitit ja yksi todellinen kohde ennen tiketin sulkemista. Curl-virhe on korjattu, kun yksinkertainen curl -I https://example.invalid toimii taas, ei silloin, kun asentaja lakkaa valittamasta.

Aiheeseen liittyvät artikkelit