Git çekme / itme - HTTPS'ye erişilemiyor, SSL rutinleri çalışmıyor gibi görünüyor


105

Git'i (ve GitHub'ı) günlük olarak kullanıyorum ve her şey yolunda gitti ve birden bire, Git komutlarım aracılığıyla uzak GitHub depomla artık iletişim kuramıyorum. "Git çek" i denediğimde şu hatayı veriyor:

ölümcül: ' https://github.com/snahrvar/eatibl.git/ ' erişilemiyor: hata: 1407742E: SSL rutinleri: SSL23_GET_SERVER_HELLO: tlsv1 uyarı protokolü sürümü

Bu yüzden, birden çok depoda test ettim ve bilgisayarımda aynı hataları alıyorum. Aynı depolarla başka birinin etkileşime girmesini sağladım ve onlar için iyi çalışıyor. Bu hatadan önce, bir projede "npm keskin kurulumu" yaptım ve bu başarısızlıkla sonuçlandı ve bunun bazı SSL ayarlarıyla karışmış olabileceğinden şüpheleniyorum, ancak bu çılgınca bir tahmin!

Herhangi bir genel düşünce veya rehberlik çok takdir edilecektir!

Hiç yardımcı oluyorsa, işte ortamım:

  • Git sürümü: 1.9.4.msysgit.2
  • Windows sürümü: Windows 8.1

Aynı sorun burada mı?
LYES - CHIOUKH

Git 1.9.5.msysgit.1
Maxime Helen

Aynı sorunu yaşıyorum
chase cabrera

11
Bu değişikliğin hataya neden olduğuna inanıyorum: github.com/blog/2507-weak-cryptographic-standards-removed
Dan H

Aynı sorunu yaşadım ve Github masaüstünü kurdum ve her şey yolunda gitti!
Damian

Yanıtlar:


69

TortoiseGit ve GCM'yi güncellemek bana yardımcı olmadı, ancak @ Frederic'in yorumlardaki tavsiyesine göre Git'i güncellemek işe yaradı.

https://git-scm.com/download/win

Git'in yeni sürümünün düzgün bir şekilde kurulduğundan ve önceki kurulumlarla çakışmadığından emin olmak için (TortoiseGit'leri kullandıysanız, çünkü farklı klasörler kullanır ve PATH değişkeniyle karışıklık yaratabilir), güncellenmiş Git'i yüklemeden önce mevcut Git kurulumunu kaldırın. . Yönetici haklarıyla da yüklemeniz gerekebilir.


Bugün bu hataları atmaya başlamak için git'in son sürümünde ne olduğundan emin değilim ama bu cevap benim için. Yeni bir kurulum yaptım (2 günlük yapı) ve yedekledim ve hiçbir ssl hatası çalıştırmıyorum. Samanlıktaki bir iğne hakkında konuşun.
JeffBaumgardt

3
En ilginç kısım, muhtemelen son güncellemeleriyle ilgili olmasına rağmen, github'ın kendilerinin bundan bahsetmemesidir. Diğer kod barındırmalarıyla ilgili benzer sorunlara ilişkin hızlı google araması, OpenSSL'yi suçlar.
feos

Evet, sadece en son sürüme güncellemem gerekiyor! Teşekkürler: D
Shayan Nahrvar

1
@gath Muhtemelen 2 uyumsuz git kurulumunuz var, mevcut olanı tamamen kaldırmayı deneyin, sonra git'i sıfırdan yeniden yükleyin. Ama senin
hatan

5
Benim için "güncellenmiş Git'i kurmadan önce mevcut Git kurulumunu kaldırın", tüm bu çöküşün anahtarı oldu.
Richard Ockerby

20

GitHub'ın zayıf SSL şifreleme protokollerini kullanımdan kaldırmasıyla büyük olasılıkla bir uyumsuzlukla karşılaşıyorsunuz:

Zayıf kriptografik standartları kaldırma bildirimi

Çözüm değişiklik gösterir, ancak Windows için Git kimlik bilgisi yöneticisini 1.14.0'a yükseltmeniz gerekebilir.

https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0


1
Windows için yerleşik Git kimlik bilgisi yöneticisini desteklemeye devam edecekler mi: wincred. O araçla aynı hatayı alıyorum
Max Hartshorn

Bu cevap, değişiklikle ilgili bağlam sağlamaya yardımcı oldu, ancak @feos'un çözümü benim için işe yarayan çözümdür (Windows 10, TortoiseGit)
Eric Farraro

14

Android Studio veya IntelliJ IDEA kullanıyorsanız, Git'i en son sürüme güncellemek ve yolu yeni sürüme işaret edecek şekilde değiştirmek sorunu benim için çözer.

Buraya resim açıklamasını girin


1
Bu benim için de çalıştı: Git'in en son sürümünü yükleyin ve IntelliJ IDEA'yı işaretleyin.
user1825866

8

TortoiseGit'i kullanarak bunun için verilen diğer tüm düzeltmeleri / güncellemeleri yaptım ve hala başarılı olamadım. Bunu buldum: Aniden itme / çekme / getirme yapılamıyor

Windows Git.exe için Git için TortoiseGit ayarlarım yolu işaret ediyordu C:\Program Files (x86)\Git\bin. Olarak değiştirdim C:\Program Files\Git\binve şimdi tekrar çalışıyor.


3
Ben kullanılarak kontrol Check nowdüğmesini Generalile, ayarları iletişim x86alırım sahip yoluna git version 1.9.5.msysgit.1için değiştirdikten sonra, C:\Program Files\Git\binben almak zorunda git version 2.16.2.windows.1ve bu yol ile tüm para cezası çalışır.
apdevelop

8

Bu benim için çalıştı.

  1. Git'in en son sürümünü buradan yükleyin: https://git-scm.com/download/win
  2. TortoiseGit'te, AyarlarGenelGit.exe Yolu menüsüne gidin - 32-bit yerine 64-bit yola değiştirin: C: \ Program Files (x86) \ Git \ bin → C: \ Program Files \ Git \ bin

İyi bir nokta. Herhangi biri (benim gibi) eski Windows 32 bit sürümünü kullanıyorsa, PATH'de değiştirdiğinizden emin olun.
AG

Bu benim zamanımı kurtardı @dgundersen
Tejas Mehta

8

Git'i güncellemek benim durumumda yeterli değildi. Birkaç saat boyunca hata ayıkladıktan sonra, bu benim düzeltmemdi:

C:\wamp64\www\maandlastenmanager> git config http.sslVersion
tslv1.0

C:\wamp64\www\maandlastenmanager> git config http.sslVersion tlsv1.2

C:\wamp64\www\maandlastenmanager> git config http.sslVersion
tslv1.2

Bu benim için sorunu çözdü ve tamamen farklı bir kurulumda (Mac OS X). curlhala bana mesaj veriyor, bu da bana sadece böyle bir ayar olup olmadığını merak etmeme neden oluyor, sadece git...
chesterbr

Bu satırlardan hangisi?
Dmitri Zaitsev

2

Visual Studio Code terminalimde GitHub'dan kod çekerken aynı sorunu yaşadım . Önceki cevaplardaki tavsiyeleri faydalı buldum ve aşağıdaki adımları izleyerek birlikte bir çözümü hackledim:

Bu depo oldukça kullanışlıdır.

Umarım bu birine yardımcı olur.


2

TL; DR: git config --system http.sslbackend schannelve github.comantivirüs yazılımınızda HTTPS kontrollerini kapatın


Windows 8 x64'te Git komut satırını kullanıyorum. Ek olarak, antivirüs yazılımım HTTPS trafiğini varsayılan olarak kontrol eder . Bu soruyu yanıtlayan diğer insanlar gibi, GitHub'ı neredeyse her gün kullanıyorum.

  • Git'i güncellemek - yardımcı olmadı - çünkü OpenSSL kullandım (aşağıya bakın)
  • Kimlik bilgisi yöneticisini güncelleme - yardımcı olmadı

Sonra SSL arka ucunu değiştirerek oynamaya başladım:

git config --system http.sslbackend openssl ----------------vs------------------ git config --system http.sslbackend schannel ve antivirüs yazılımı SSL trafiğini kontrol eder:

  1. OpenSSL, HTTPS kontrolleri AÇIK: error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
  2. OpenSSL, HTTPS kontrolleri KAPALI: SSL certificate problem: unable to get local issuer certificate
  3. SecureChannel, HTTPS kontrolleri AÇIK: schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.
  4. SecureChannel, HTTPS kontrolleri KAPALI: iyi çalıştı

Not: Komut satırı yerine, "Yerel Windows SSL doğrulama kitaplığını kullan" ı seçerek en son Git'i yeniden yükleyebilirsiniz.

PPS: Durum (3) schannel kitaplığında bir hata gibi görünüyor, çünkü antivirüs yazılımımın kullandığı MITM sertifikası makinemde beyaz listeye alınmış.


Git'i yeniden yüklerken eski kurulumunu tamamen kaldırdım ve yeni kurulum için OpenSSL'yi seçtim, bu yüzden sanırım sıfırdan yeniden yükledi. Ama antivirüsüm yok. SSL arka ucunun yeniden yüklenmesi sizin için bir şey değiştirdi mi yoksa siz yapmadınız mı?
feos

@feos Evet, yalnızca benim için OpenSSL olmayan modda çalışıyor. Artı, AV'de https kontrollerini kapatmam gerekiyordu.
Mike Makarov

Benim için hala net değil, SSL'yi yeniden yüklediniz mi yoksa değil mi?
feos

@feos Hayır yapmadım. Windows'ta "SSL'yi yeniden yükleyebileceğini" düşünmüyorum. Yani bununla ne demek istediğinden emin değilim. En son git istemcisini kurduğunuzda, seçebileceğiniz bir seçeneğiniz vardır - OpenSSL arka ucu veya Windows tümleşik olanı. OpenSSL'yi seçtim. Bu işe yaramadı ve arka ucu yapılandırma yoluyla değiştirdim. Umarım bu açıklığa kavuşur.
Mike Makarov

Olur, teşekkürler. Bence OP'den tamamen farklı bir problem yaşıyorsun.
feos

1

MacOS üzerinde yapabilirsiniz yüklemek son gitaracılığıyla Homebrew.


Ne yazık ki bu benim için Mac OS X 10.7.5 (Lion) üzerinde işe yaramadı - aynı hatayı aldım. Daha sonra Homebrewsıfırdan yüklemeyi denedim - bir yakalama gibi görünüyor. error: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version while accessing https://github.com/Homebrew/brew/info/refs?service=git-upload-pack fatal: HTTP request failed
Setaa

@Setaa, Peki o zaman Sürümler sayfasından manuel olarak yüklemeyi deneyebilir misiniz? Onlar bu catch22 ele sahip görünüyor 1.5.5
AS

1

Git 1.9.5.msysgit.1 için de aynısı. Https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0 yüklemeyi denedim , ancak değişiklik yok.

Aslında kurulumdan sonra hiçbir şey olmuyor; belki yanlış bir şey yapıyorum? (Bu ilk soru için yardımcı olmayabilir, ancak diğer insanlar için evet!)


6
Sadece topluluğa yardım etmek için git'i (windows için) ( git-scm.com/download/win ile ) güncelledim ve sorunu çözdüm !
Frederic

2
Windows 7 Pro / 64 altında git-scm.com/download/win bağlantısını kullanarak git'i yükselttim. Bu git c: \ program files (x86) \ git yerine c: \ program files \ git konumuna yüklendi. Sürümüm 1.9.5.msysgit.1'den 2.16.2.windows.1'e değişti ve WebStorm'u daha yeni sürüme işaret edecek şekilde yapılandırdığımda, gizemli 1407742E: SSL rutinleri: SSL23_GET_SERVER_HELLO: tlsv1 uyarı protokolü sürüm hatası sona erdi.
CODE-REaD

Bilginize, kurulumum:C:\Program Files\Git\etc> cat install-options.txt Editor Option: Notepad++ Path Option: Cmd Plink Path: C:\Program Files (x86)\PuTTY\plink.exe SSH Option: Plink CURL Option: OpenSSL CRLF Option: CRLFAlways Bash Terminal Option: MinTTY Performance Tweaks FSCache: Enabled Use Credential Manager: Enabled Enable Symlinks: Disabled
CODE-REaD

Bir cevabı yükseltmek için cesaretlendirmelisiniz.
Edward Thomson

1

Evet, bugün bir çekme isteğinde aynı sorunla karşılaştım ve çözüm, Git'i Windows için en son (2.16.2) 64 bit sürümünü indirerek güncellemekti. 5 gün önce 2018-02-20 tarihinde yayınlandı.


1

@Andw'nin yorumu benim için çalıştı:

Aşağıdaki adımları kullanarak Git 1.9.5 sürümünü 2.15.1'e güncelleyin:

SourceTree'de, AraçlarSeçeneklerGitGömülü Git Kullan menüsüne gidin .


1

Hızlı bir çözüm, git config --global http.sslVerify true olacaktır , ancak SSL kullanarak amacı ortadan kaldırdığı için önerilmez.

İkinci ve daha iyi bir yol, SSL URL'si yerine ssh anahtarlarını kullanmaktır.

SSH anahtarları oluşturma adımları

o Git terminalinde (Git Bash) aşağıdaki komutu çalıştırın: ssh-keygen

Komutu çalıştırdıktan sonra aşağıdaki mesaj görünecektir:

Genel / özel RSA anahtar çifti üretiliyor.

Anahtarın kaydedileceği dosyayı girin (/h//.ssh/id_rsa):

Depolanacak anahtarın yolunu verin, örneğin, anahtarı kaydedeceğiniz dosyayı girin (/h//.ssh/id_rsa): C:\Users\Public\my-new-ssh-key

Ardından bu anahtarın parolasını verin (en az 8 karakterden oluşan herhangi bir parola)

• Daha sonra şu komutu çalıştırın: eval “$ (ssh-agent –s)”

• Aşağıdaki komutu çalıştırın: ssh-add C:/Users/Public/my-new-ssh-keyNot: yeni oluşturulan SSH anahtarının yolunda eğik çizgi kullanın.

Bundan sonra, my-new-ssh-key.pub dosyasının içeriğini ekleyin ve bunu Genel anahtar ekle (Bitbucket, GitHub, vb.) İçin metin alanına ekleyin .


0

Getirme, çekme, itme vb. İçin uzak bir depoya bağlanırken aynı hatayı aldım:

fatal: unable to access 'https://github.com/repository.git/': error:1
407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

Git 64 bit'i 32 bit yerine yeni yükledim ve bu sorunu çözdü.

Kurulumdan sonra, ortam değişkenlerinde Git yolunu doğrulayın. Olmalı:

C:\Program Files\Git\bin\git.exe

0

Bu, IntelliJ ve RubyMine ile ilgili bir sorundur. GitHub, TLS lehine SSL'yi (PCI uyumluluğu belki?) Devre dışı bırakmış olmalıdır. IntelliJ veya RubyMine'da Ayarlar'ı açıp Sürüm Kontrolü> Git'e giderseniz, uygulamanın yolunun altında kurulu bir git.exe kullandığını görürsünüz. Git'in en güncel sürümünü indirmeli ve VCS ayarlarınızdaki yolu buna işaret edecek şekilde değiştirmelisiniz, örneğin Windows'a yüklerseniz C: \ Program Files \ Git \ bin \ git.exe. Bundan sonra bir tılsım gibi çalışır.


0

Bazen bu, eski ssl kullanan ve artık kullanılmayan eski msysgit'ten kaynaklanır, pencereler için en son git'i yükleyebilir ve kaplumbağa ayarında git.exe yolunu ona işaret edebilirsiniz, sonra bu sorun gider.


0

Benzer bir hatayla karşılaşıldı. Windows'ta, Windows'ta git en son sürüme güncellendi. Bu sorunu çözdü.


Bu, sorunu çözmek için git'in güncellenmesini öneren kabul edilen yanıta nasıl bir şey ekler?
David

Benim için neyin işe yaradığını açıkladım. Belki başkalarının da yaptığı gibi.
Olusola Omosola

0

Git sürüm yükseltmesi benim için hile yaptı. Ben versiyonu vardı 1.9.5 ve böylece ben yükseltilmiş 2.21.0 pencerelerde. Ayrıca yükseltme işlemi çok kolaydır. Eski sürümü kaldırmamıza gerek yok. En son Git yükleyicisini indirin ve varsayılan seçenekleri kullanarak bir sonraki düğmesine basmaya devam edin; sürüm yeni sürüme değiştirilecek ve tüm eski ayarlar ssh tuşları gibi çalışmaya devam edecek. Anahtarları yeniden oluşturup koymamıza gerek yok github veya başka bir depo.

Daha önce https protokolü klonlamam çalışmıyordu ve hata veriyordu

önemli: ' https://github.com/tensorflow/models/ ' erişilemiyor: hata: 1407742E: SSL rutinleri: SSL23_GET_SERVER_HELLO: tlsv1 uyarı protokolü sürümü

Yeni sürümü indirip aynı klon komutunu çalıştırdığımda sorunsuz çalıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.