Vi gluas la unulinian instalilon el lernilo, premas Enter kaj ricevas curl: (77). La mesaĝo mencias lokojn de atestila kontrolado, do la instinkto estas supozi, ke la atestilo de la VPN-provizanto estas difektita, kaj ekkapti flagon, kiu preterlasas kontroladon. Tiu legado estas malĝusta, kaj agi laŭ ĝi ŝanĝas lokan dosieran problemon en sekurecan decidon. Ni iru returne de la komenco.

Paŝo 1: legu, kion signifas la nombro

Eraro 77 temas pri la loka CA-enigo: curl ne povis legi aŭ ŝargi la atestilan materialon, kiun oni diris al ĝi fidi. Eraro 60 estas tiu pri la kontraŭa flanko, kiam la ĉeno de la servilo ne validiĝas. Ili aperas unu apud la alia en lerniloj kaj signifas kontraŭajn aferojn.

Se via eligo diras 77, la servilo neniam estis la problemo. La kliento ne povis malfermi la dosieron, kiun ĝi volis uzi por la kontrolo, kaj tio estas problemo de vojo, permesoj aŭ pakaĵo sur via maŝino.

Paŝo 2: legu la komandon, kiun vi kopiis

Kopioj de komandoj kaŝas signojn. Minuskla -l estas --list-only, kiu rilatas al listigo de protokoloj. Majuskla -L estas --location, kiu sekvas HTTP-aldirektadon. Ili ne estas alternativaj literumoj, kaj lernilo, kiu skribas unu dum priskribas la alian, sendas homojn laŭ aldirekta vojo, kiu neniam estis intencita.

Sekvi aldirektadon ne riparas vojon de fido-tenejo, kaj ĝi ne pruvas, ke la fina gastiganto estas la eldonanto, kiun vi celis. Se la komando venis el forumafiŝo, reskribu ĝin laŭ la propraj instrukcioj de la projekto anstataŭ fidi la gluaĵon.

Paŝo 3: trovu, kiun CA-enigon tiu konstruo uzas

Komencu per identigo de la duuma dosiero, ĉar la respondo dependas de tio, kiel ĝi estis kompilita:

curl --version

Notu la version kaj la TLS-malantaŭon. Konstruo kun denaska fido-tenejo legas la sistemtenejn per la TLS-biblioteko, dum konstruo direktita al fasko legas dosieron. Aparta --cacert, agordo CURL_CA_BUNDLE aŭ ŝela ĉirkaŭaĵo povas superregi ambaŭ, do paka instalado eble ne tuŝas la dosieron, kiu efektive fiaskas.

Por dosierbaza tenejo, kontrolu tri aferojn laŭvice: ĉu la vojo ekzistas, ĉu la vokanta konto povas legi ĝin, kaj ĉu ĝi enhavas la CA-materialon, kiun vi atendas. Fasko kun malĝustaj permesoj fiaskas same kiel mankanta, kaj ambaŭ fiaskas antaŭ ol okazas iu ajn reta interparolo pri la servilo.

Paŝo 4: riparu la enigon, ne la kontroladon

Restarigu la subtenatan fido-agordon per la posedanto: la distribua pakaĵo, via agordo-administrado aŭ la dokumentita medivariablo. La celo estas legebla kaj ĝusta CA-enigo por tiu duuma dosiero.

Ne ŝanĝu la URL-on al HTTP, ne aldonu --insecure, kaj ne fidu atestilon kopiitan el neklarigita elŝuto. Ĉiu el tiuj ŝanĝoj ŝanĝas, kion vi pretas akcepti, anstataŭ ripari tion, kion curl ne povis legi, kaj la ŝanĝo kutime postvivas la okazaĵon.

La referenco por la nombroj estas la erarkatalogo de curl, kaj ĝi estas sufiĉe mallonga por legi ĝin unufoje zorgeme.

Paŝo 5: elŝutu, rigardu, poste plenumu

Elŝutu la instalilon al dosiero anstataŭ enigi ĝin en ŝelon en la sama komando. Tiu sola ŝanĝo apartigas transigon, kiun vi povas ekzameni, de kodo, kiu ruliĝas kun viaj privilegioj.

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

Kontrolu, ke la respondo estas la skripto, kiun vi atendis, kaj ne HTML-erara paĝo, aldirekta avizo aŭ malplena dosiero. Se la eldonanto provizas kontrolsumon aŭ subskribon, kontrolu ĝin per ilia dokumentita eldonprocezo, ne per valoro citita en la sama foruma fadeno.

Memoru, kion HTTPS faris kaj kion ne. Ĝi aŭtentikigis la transporton al la gastiganto, kiun vi kontaktis; ĝi ne ekzamenis la enhavon de la skripto, kaj ĝi ne diras al vi, ĉu la eldonanto estas fidinda.

Paŝo 6: tenu la instalpaŝojn apartaj

Elŝuti la dosieron, instali la klienton, agordi la tunelon kaj validigi la vojojn estas kvar operacioj kun kvar malsamaj fiaskmanieroj. Fari ilin unu post unu signifas, ke eraro pli poste en la sinsekvo havas unu evidentan kaŭzon anstataŭ kvar kandidatojn.

Se la instalado sukcesas kaj la tunelo leviĝas, kontrolu la vojojn kaj unu realan celon antaŭ ol fermi la bileton. La eraro de curl estas riparita, kiam simpla curl -I https://example.invalid denove funkcias, ne kiam la instalilo ĉesas plendi.

Rilataj artikoloj