Galat curl 77: lokasi verifikasi sertifikat saat pemasangan VPN
Galat 77 adalah kegagalan masukan CA lokal, bukan sertifikat server yang buruk. Temukan berkas kepercayaan yang dibaca curl, perbaiki, dan periksa skrip sebelum menjalankannya.
Anda menempelkan perintah pemasang satu baris dari tutorial, menekan Enter, dan mendapatkan curl: (77). Pesannya menyebut lokasi verifikasi sertifikat, jadi naluri adalah menganggap sertifikat penyedia VPN rusak dan mencari opsi yang melewati verifikasi. Bacaan itu keliru, dan bertindak berdasarkan itu mengubah masalah berkas lokal menjadi keputusan keamanan. Mari kita telusuri dari awal.
Langkah 1: baca apa arti angka itu
Galat 77 berkaitan dengan masukan CA lokal: curl tidak dapat membaca atau memuat materi sertifikat yang diminta untuk dipercayainya. Galat 60 adalah yang berkaitan dengan pihak lawan, ketika rantai server tidak tervalidasi. Keduanya muncul berdampingan di tutorial dan berarti hal yang berlawanan.
Jika keluaran Anda menyebut 77, server tidak pernah menjadi masalahnya. Klien tidak dapat membuka berkas yang ingin dipakainya untuk pemeriksaan, dan itu masalah jalur, izin, atau pengemasan di mesin Anda.
Langkah 2: baca perintah yang Anda salin
Perintah hasil salin menyembunyikan karakter. Huruf kecil -l adalah --list-only, yang berlaku untuk menampilkan daftar protokol. Huruf besar -L adalah --location, yang mengikuti pengalihan HTTP. Keduanya bukan ejaan alternatif, dan tutorial yang menulis satu sambil menjelaskan yang lain mengirim orang ke jalur pengalihan yang tidak pernah dimaksudkan.
Mengikuti pengalihan tidak memperbaiki jalur penyimpanan kepercayaan, dan tidak membuktikan bahwa host akhir adalah penerbit yang Anda maksud. Jika perintah itu berasal dari unggahan forum, ketik ulang dari instruksi proyek itu sendiri alih-alih memercayai tempelan.
Langkah 3: cari tahu masukan CA mana yang dipakai build itu
Mulailah dengan mengenali biner, karena jawabannya bergantung pada cara ia dikompilasi:
curl --versionCatat versi dan backend TLS. Build yang memakai penyimpanan kepercayaan asli membaca penyimpanan sistem melalui pustaka TLS, sedangkan build yang diarahkan ke bundel membaca berkas. --cacert eksplisit, pengaturan CURL_CA_BUNDLE, atau pembungkus shell dapat menimpa keduanya, jadi pemasangan paket mungkin tidak menyentuh berkas yang sebenarnya gagal.
Untuk penyimpanan berbasis berkas, periksa tiga hal secara berurutan: apakah jalurnya ada, apakah akun yang menjalankan perintah dapat membacanya, dan apakah isinya materi CA yang Anda harapkan. Bundel dengan izin yang salah gagal sama seperti bundel yang hilang, dan keduanya gagal sebelum ada percakapan jaringan tentang server.
Langkah 4: perbaiki masukannya, bukan verifikasinya
Pulihkan konfigurasi kepercayaan yang didukung melalui pihak yang memilikinya: paket distribusi, manajemen konfigurasi Anda, atau variabel lingkungan yang didokumentasikan. Tujuannya adalah masukan CA yang terbaca dan benar untuk biner itu.
Jangan ubah URL ke HTTP, jangan tambahkan --insecure, dan jangan percaya sertifikat yang disalin dari unduhan tanpa penjelasan. Setiap perubahan itu mengubah apa yang bersedia Anda terima alih-alih memperbaiki apa yang tidak dapat dibaca curl, dan perubahan itu biasanya bertahan lebih lama daripada insidennya.
Rujukan untuk angka-angka itu adalah katalog galat curl, dan cukup pendek untuk dibaca sekali dengan saksama.
Langkah 5: unduh, lihat, lalu jalankan
Unduh pemasangnya ke berkas alih-alih menyalurkannya ke shell dalam perintah yang sama. Satu perubahan itu memisahkan transfer yang dapat Anda periksa dari kode yang berjalan dengan hak istimewa Anda.
curl -fL -o vpn-installer.sh https://example.invalid/install.sh
file vpn-installer.sh
head -n 40 vpn-installer.shPeriksa bahwa responsnya adalah skrip yang Anda harapkan, bukan halaman galat HTML, pemberitahuan pengalihan, atau berkas kosong. Jika penerbit menyediakan checksum atau tanda tangan, verifikasikan melalui proses rilis mereka yang didokumentasikan, bukan nilai yang dikutip di utas forum yang sama.
Ingat apa yang dilakukan HTTPS dan apa yang tidak. HTTPS mengautentikasi transport ke host yang Anda hubungi; ia tidak meninjau isi skrip dan tidak memberi tahu apakah penerbitnya tepercaya.
Langkah 6: pisahkan langkah-langkah pemasangan
Mengunduh berkas, memasang klien, mengonfigurasi terowongan, dan memvalidasi rute adalah empat operasi dengan empat mode kegagalan berbeda. Mengerjakannya satu per satu berarti galat di kemudian hari dalam urutan punya satu penyebab jelas alih-alih empat kandidat.
Jika pemasangan berhasil dan terowongan menyala, verifikasi rute dan satu tujuan nyata sebelum menutup tiket. Galat curl teratasi ketika curl -I https://example.invalid sederhana berfungsi lagi, bukan ketika pemasang berhenti mengeluh.