Bir öğreticiden kurulumun tek satırlık komutunu yapıştırıp Enter’a basıyorsunuz ve şunu alıyorsunuz: curl: (77). İleti sertifika doğrulama konumlarından söz ediyor, bu yüzden içgüdü VPN sağlayıcısının sertifikasının bozuk olduğunu varsayıp doğrulamayı atlayan bir seçeneğe yönelmek oluyor. Bu okuma yanlış, ve buna göre davranmak yerel bir dosya sorununu güvenlik kararına dönüştürüyor. Baştan ele alalım.

Adım 1: bu sayının ne anlama geldiğini okuyun

77 hatası yerel CA girdisiyle ilgilidir: curl, güvenmesi söylenen sertifika materyalini okuyamadı veya yükleyemedi. 60 hatası ise karşı tarafla ilgilidir, yani sunucunun zinciri doğrulanmadığında. Öğreticilerde yan yana görünürler ve zıt anlamlara gelirler.

Çıktınız 77 diyorsa, sunucu hiçbir zaman sorun olmadı. İstemci, denetim için kullanmak istediği dosyayı açamadı, ve bu makinenizde bir yol, izin veya paketleme sorunudur.

Adım 2: kopyaladığınız komutu okuyun

Kopyalanan komutlar karakterleri gizler. Küçük -l şudur: --list-only, protokollerin listelenmesi için geçerlidir. Büyük -L şudur: --location, bir HTTP yönlendirmesini izler. Bunlar alternatif yazımlar değildir, ve birini yazıp diğerini anlatan öğretici insanları hiç amaçlanmamış bir yönlendirme yoluna gönderir.

Bir yönlendirmeyi izlemek güven deposunun yolunu onarmaz ve son sunucunun kastettiğiniz yayıncı olduğunu kanıtlamaz. Komut bir forum gönderisinden geldiyse, yapıştırılana güvenmek yerine projenin kendi talimatlarından yeniden yazın.

Adım 3: o derlemenin hangi CA girdisini kullandığını bulun

İkili dosyayı tanımlayarak başlayın, çünkü yanıt nasıl derlendiğine bağlıdır:

curl --version

Sürümü ve TLS arka ucunu not edin. Yerel güven deposu kullanan bir derleme sistem deposunu TLS kitaplığı üzerinden okur, pakete yönelen bir derleme ise bir dosya okur. Açık bir --cacert, bir CURL_CA_BUNDLE ayarı veya shell sarmalayıcısı ikisini de geçersiz kılabilir, bu yüzden paket kurulumu gerçekte başarısız olan dosyaya hiç dokunmayabilir.

Dosya tabanlı bir depo için üç şeyi sırayla denetleyin: yol var mı, komutu çağıran hesap onu okuyabiliyor mu ve beklediğiniz CA materyalini içeriyor mu. Yanlış izinlere sahip bir paket, eksik olanla aynı şekilde başarısız olur, ve ikisi de sunucu hakkında herhangi bir ağ konuşmasından önce başarısız olur.

Adım 4: girdiyi onarın, doğrulamayı değil

Desteklenen güven yapılandırmasını sahibi aracılığıyla geri yükleyin: dağıtım paketi, yapılandırma yönetiminiz veya belgelenmiş ortam değişkeni. Amaç, o ikili dosya için okunabilir ve doğru bir CA girdisidir.

URL’yi HTTP’ye çevirmeyin, --insecure eklemeyin ve açıklanmamış bir indirmeden kopyalanan sertifikaya güvenmeyin. Bu değişikliklerin her biri, curl’ün okuyamadığını onarmak yerine neyi kabul etmeye hazır olduğunuzu değiştirir, ve değişiklik genellikle olaydan daha uzun yaşar.

Sayılar için başvuru curl hata kataloğu’dur ve bir kez dikkatle okumak için yeterince kısadır.

Adım 5: indirin, bakın, sonra çalıştırın

Kurulumu aynı komutta bir shell’e boru etmek yerine bir dosyaya indirin. Bu tek değişiklik, inceleyebileceğiniz bir aktarımı sizin ayrıcalıklarınızla çalışan koddan ayırır.

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

Yanıtın beklediğiniz betik olduğunu, bir HTML hata sayfası, yönlendirme bildirimi veya boş dosya olmadığını denetleyin. Yayıncı bir sağlama toplamı veya imza sunuyorsa, bunu aynı forum başlığında alıntılanan bir değerden değil, belgelenmiş sürüm süreçlerinden doğrulayın.

HTTPS’nin ne yaptığını ve ne yapmadığını hatırlayın. Bağlandığınız ana bilgisayara giden taşımayı doğruladı; betiğin içeriğini incelemedi ve yayıncının güvenilir olup olmadığını söylemez.

Adım 6: kurulum adımlarını ayrı tutun

Dosyayı indirmek, istemciyi kurmak, tüneli yapılandırmak ve rotaları doğrulamak dört farklı başarısızlık kipine sahip dört işlemdir. Bunları tek tek yapmak, dizide daha sonraki bir hatanın dört aday yerine tek bir belirgin nedeni olması demektir.

Kurulum başarılı olur ve tünel açılırsa, kaydı kapatmadan önce rotaları ve gerçek bir hedefi doğrulayın. curl hatası, basit bir curl -I https://example.invalid yeniden çalıştığında düzeltilmiş olur, kurulum şikâyet etmeyi bıraktığında değil.

İlgili makaleler