Używam Git (i GitHub) na co dzień i wszystko działa dobrze i nagle nie mogę już komunikować się z moim zdalnym repozytorium GitHub za pomocą moich poleceń Git. Kiedy próbuję wykonać polecenie „Git pull”, pojawia się następujący błąd:
fatal: brak dostępu do „ https://github.com/snahrvar/eatibl.git/ ”: błąd: 1407742E: procedury SSL: SSL23_GET_SERVER_HELLO: wersja protokołu alertu tlsv1
Testowałem więc w wielu repozytoriach i otrzymuję te same błędy na moim komputerze. Miałem kogoś innego w interakcji z tymi samymi repozytoriami i dla nich to działa dobrze. Przed tym błędem wykonałem „npm install sharp” w projekcie i zakończyło się niepowodzeniem i podejrzewam, że mogło to zepsuć niektóre ustawienia SSL, ale to szalone przypuszczenie!
Wszelkie ogólne przemyślenia lub wskazówki byłyby bardzo mile widziane!
Jeśli w ogóle jest to pomocne, oto moje środowisko:
- Wersja Gita: 1.9.4.msysgit.2
- Wersja systemu Windows: Windows 8.1
Odpowiedzi:
Aktualizacja TortoiseGit i GCM nie pomogła mi, ale aktualizacja samego Gita tak, jak porada @ Frederic w komentarzach.
https://git-scm.com/download/win
Aby upewnić się, że nowa wersja Git instaluje się poprawnie i nie powoduje konfliktów z poprzednimi instalacjami (może, jeśli używałeś TortoiseGit, ponieważ używałby innych folderów i bałaganu ze zmienną PATH), usuń istniejącą instalację Git przed zainstalowaniem zaktualizowanego Gita . Może również wymagać instalacji z uprawnieniami administratora.
źródło
Prawdopodobnie napotkasz niezgodność z wycofaniem przez GitHub słabych protokołów szyfrowania SSL:
Powiadomienie o usunięciu słabych standardów kryptograficznych
Rozwiązanie będzie się różnić, ale w przypadku systemu Windows prawdopodobnie musisz zaktualizować menedżera poświadczeń Git do wersji 1.14.0
https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0
źródło
Jeśli używasz Android Studio lub IntelliJ IDEA, aktualizacja Gita do najnowszej wersji i zmiana ścieżki tak, aby wskazywała na nową wersję, rozwiązuje problem za mnie.
źródło
Używając TortoiseGit, zrobiłem wszystkie inne poprawki / aktualizacje podane w tym celu i nadal bez sukcesu. Znalazłem to: nie mogę nagle wykonać polecenia push / pull / download
Moje ustawienia TortoiseGit dla Git dla Windows Ścieżka Git.exe wskazywała
C:\Program Files (x86)\Git\bin
. Zmieniłem to naC:\Program Files\Git\bin
i teraz znowu działa.źródło
Check now
przycisku wGeneral
oknie ustawień, zex86
ścieżką, którą otrzymałemgit version 1.9.5.msysgit.1
, po zmianie naC:\Program Files\Git\bin
mam getgit version 2.16.2.windows.1
iz tą ścieżką wszystko działa dobrze.To właśnie zadziałało dla mnie.
źródło
Aktualizacja Gita nie wystarczyła w mojej sytuacji. Po kilku godzinach debugowania to była moja poprawka:
źródło
curl
nadal przekazuje mi ten komunikat, co sprawia, że zastanawiam się, czy istnieje takie ustawienie, które dotyczy wszystkich aplikacji ssl, a nie tylkogit
...Miałem ten sam problem podczas ściągania kodu z GitHub na moim terminalu Visual Studio Code . Rady zawarte w poprzednich odpowiedziach okazały się przydatne i zhakowałem rozwiązanie, wykonując poniższe czynności:
C:\Program Files (x86)\Git\bin.
naC:\Program Files\Git\bin
.To repozytorium było całkiem przydatne.
Mam nadzieję, że to komuś pomoże.
źródło
TL; DR:
git config --system http.sslbackend schannel
i wyłącz kontrole HTTPSgithub.com
w oprogramowaniu antywirusowymUżywam wiersza poleceń Git w systemie Windows 8 x64. Ponadto moje oprogramowanie antywirusowe domyślnie sprawdza ruch HTTPS . Podobnie jak inne osoby, odpowiadając na to pytanie, korzystam z GitHub prawie codziennie.
Potem zacząłem bawić się przełączaniem backendu SSL:
git config --system http.sslbackend openssl ----------------vs------------------ git config --system http.sslbackend schannel
a oprogramowanie antywirusowe sprawdza ruch SSL:error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
SSL certificate problem: unable to get local issuer certificate
schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.
PS: Zamiast wiersza poleceń możesz po prostu ponownie zainstalować najnowszą wersję Gita, wybierając opcję „Użyj natywnej biblioteki weryfikacji SSL systemu Windows”.
PPS: Przypadek (3) wydaje się być błędem w bibliotece Schannel, ponieważ certyfikat MITM, którego używa moje oprogramowanie antywirusowe, znajduje się na białej liście na moim komputerze.
źródło
W systemie macOS możesz zainstalować najnowszą wersję
git
za pośrednictwemHomebrew
.źródło
Homebrew
od zera - wydaje się, że to haczyk22.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
To samo dotyczy Gita 1.9.5.msysgit.1. Próbowałem zainstalować https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0 , ale bez zmian.
Właściwie nic się nie dzieje po instalacji; może robię coś złego? (To może nie pomóc w przypadku pierwszego pytania, ale dla innych ludzi, tak!)
źródło
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
Tak, napotkałem dziś ten sam problem przy żądaniu ściągnięcia i rozwiązaniem było po prostu zaktualizowanie Gita poprzez pobranie najnowszej (2.16.2) 64-bitowej wersji Git dla Windows. Został wydany 5 dni temu, 20.02.2018.
źródło
Komentarz @andw zadziałał dla mnie:
Zaktualizuj Git w wersji 1.9.5 do 2.15.1, wykonując następujące czynności:
W sourceTree przejdź do menu Narzędzia → Opcje → Git → Użyj wbudowanego Gita .
źródło
Szybkim rozwiązaniem byłoby git config --global http.sslVerify true , ale nie jest to zalecane, ponieważ uniemożliwia to użycie SSL.
Drugim i lepszym sposobem jest użycie kluczy ssh zamiast adresu URL SSL.
Kroki do generowania kluczy SSH
o Uruchom następującą komendę w terminalu Git (Git Bash): ssh-keygen
Po uruchomieniu polecenia pojawi się następujący komunikat:
Generowanie pary kluczy publiczny / prywatny RSA.
Wpisz plik, w którym chcesz zapisać klucz (/h//.ssh/id_rsa):
Podaj ścieżkę do klucza, w którym ma być przechowywany, na przykład podaj plik, w którym ma zostać zapisany klucz (/h//.ssh/id_rsa):
C:\Users\Public\my-new-ssh-key
Następnie podaj hasło dla tego klucza (dowolne hasło składające się z minimum 8 znaków)
• Następnie uruchom następującą komendę: eval „$ (ssh-agent –s)”
• Uruchom następujące polecenie:
ssh-add C:/Users/Public/my-new-ssh-key
Uwaga: użyj ukośnika w ścieżce do nowo utworzonego klucza SSH.Następnie dodaj zawartość pliku my-new-ssh-key.pub i dodaj ją w polu tekstowym Dodaj klucz publiczny (Bitbucket, GitHub itp.)
źródło
Podczas łączenia się ze zdalnym repozytorium w celu pobrania, ściągnięcia, wypchnięcia itp. Miałem ten sam błąd:
Właśnie ponownie zainstalowałem 64-bitowy Git zamiast 32-bitowego i to rozwiązało problem.
Po instalacji sprawdź ścieżkę Git w zmiennych środowiskowych. Powinno być:
źródło
Jest to problem z IntelliJ i RubyMine. GitHub musi mieć wyłączony SSL (może zgodność z PCI?) Na korzyść TLS. Jeśli otworzysz Ustawienia w IntelliJ lub RubyMine i przejdziesz do Kontrola wersji> Git, zobaczysz, że używa git.exe zainstalowanego w ścieżce aplikacji. Powinieneś pobrać najnowszą wersję Gita i zmienić ścieżkę w ustawieniach VCS, aby wskazywała na to, np. C: \ Program Files \ Git \ bin \ git.exe, jeśli instalujesz ją w systemie Windows. Po tym działa jak urok.
źródło
Czasami jest to spowodowane przestarzałym msysgit, który używa starego ssl i nie jest już obsługiwany, możesz zainstalować najnowszy git dla Windows i wskazać ścieżkę git.exe w ustawieniach żółwia, a następnie ten problem zniknął.
źródło
Napotkano podobny błąd. W systemie Windows zaktualizowano git w systemie Windows do najnowszej wersji. To rozwiązało problem.
źródło
Aktualizacja wersji Gita załatwiła mi sprawę. Miałem wersję 1.9.5 i tak i zaktualizowałem do 2.21.0 w systemie Windows. Aktualizacja jest również bardzo łatwa. Nie musimy odinstalowywać starszej wersji. Pobierz najnowszy instalator Git i po prostu naciskaj dalej, używając domyślnych opcji, a wersja zostanie zmieniona na nową, a wszystkie stare ustawienia będą nadal działać jak klucze ssh itp. Nie musimy ponownie generować kluczy i włączać github lub inne repozytorium.
Wcześniej klonowanie protokołu https nie działało i powodowało błąd
Po pobraniu nowej wersji i uruchomieniu tego samego polecenia klonowania działało bez żadnych problemów.
źródło