Git pull / push - không thể truy cập HTTPS, các quy trình SSL dường như không hoạt động


105

Tôi đang sử dụng Git (và GitHub) hàng ngày và mọi thứ đều hoạt động tốt và đột nhiên, tôi không còn có thể giao tiếp với kho lưu trữ GitHub từ xa của mình thông qua các lệnh Git của mình. Khi tôi cố gắng "Git pull", nó xuất hiện lỗi sau:

nghiêm trọng: không thể truy cập ' https://github.com/snahrvar/eatibl.git/ ': error: 1407742E: SSL thường xuyên: SSL23_GET_SERVER_HELLO: phiên bản giao thức cảnh báo tlsv1

Vì vậy, tôi đã thử nghiệm trên nhiều kho lưu trữ và tôi gặp các lỗi tương tự trên máy tính của mình. Tôi đã có người khác tương tác với những kho lưu trữ tương tự, và nó hoạt động tốt cho họ. Trước lỗi này, tôi đã thực hiện "npm install sharp" trên một dự án và kết quả là không thành công và tôi nghi ngờ điều này có thể đã gây nhầm lẫn với một số cài đặt SSL, nhưng đó là một phỏng đoán hoang đường!

Bất kỳ suy nghĩ chung hoặc hướng dẫn sẽ được đánh giá cao!

Nếu nó hữu ích, đây là môi trường của tôi:

  • Phiên bản Git: 1.9.4.msysgit.2
  • Phiên bản Windows: Windows 8.1

Vấn đề tương tự ở đây ?
LYES - CHIOUKH

Tương tự ở đây với git 1.9.5.msysgit.1
Maxime Helen

Tôi đang gặp vấn đề tương tự
đuổi Cabrera

11
Tôi tin rằng thay đổi này là nguyên nhân gây ra lỗi: github.com/blog/2507-weak-cryptographic-standards-removed
Dan H

Tôi đã gặp vấn đề tương tự và đã cài đặt máy tính để bàn Github và mọi thứ đều hoạt động tốt!
Damian

Câu trả lời:


69

Cập nhật TortoiseGit và GCM không giúp được gì cho tôi, nhưng việc cập nhật Git chính nó đã làm được, theo lời khuyên của @ Frederic trong nhận xét.

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

Để đảm bảo phiên bản mới của Git cài đặt đúng cách và không xung đột với các cài đặt trước đó (có thể, nếu bạn đã sử dụng TortoiseGit, vì nó sẽ sử dụng các thư mục khác nhau và gây rối với biến PATH), hãy xóa cài đặt Git hiện có trước khi cài đặt Git cập nhật . Cũng có thể cần cài đặt với quyền quản trị viên.


Tôi không chắc điều gì đã xảy ra với phiên bản git cuối cùng để bắt đầu ném những lỗi này vào ngày hôm nay nhưng câu trả lời này là dành cho tôi. Tôi đã cài đặt mới (bản dựng 2 ngày tuổi) và tôi đã sao lưu và chạy không có lỗi ssl. Nói về một cái kim trong đống cỏ khô.
JeffBaumgardt 23/02/18

3
Phần thú vị nhất là bản thân github không đề cập đến điều này, mặc dù nó có thể liên quan đến các bản cập nhật gần đây của họ. Tìm kiếm nhanh trên google về các vấn đề tương tự với các mã lưu trữ khác đổ lỗi cho OpenSSL.
feos

Đúng, chỉ cần cập nhật lên phiên bản mới nhất! Cảm ơn: D
Shayan Nahrvar 25/02/18

1
@gath Có thể bạn có 2 bản cài đặt git không tương thích, hãy thử gỡ cài đặt hoàn toàn hiện có, sau đó cài đặt lại git từ đầu. Nhưng lỗi của bạn là một lỗi khác stackoverflow.com/questions/3778042/…
feos

5
Đối với tôi, "xóa cài đặt Git hiện có trước khi cài đặt Git cập nhật" là chìa khóa cho toàn bộ sự cố này.
Richard Ockerby

20

Bạn có thể gặp phải tình trạng không tương thích với việc GitHub ngừng sử dụng các giao thức mã hóa SSL yếu:

Thông báo loại bỏ các tiêu chuẩn mật mã yếu

Giải pháp sẽ khác nhau, nhưng đối với Windows, bạn có thể cần phải nâng cấp trình quản lý thông tin đăng nhập Git lên 1.14.0

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


1
Liệu họ có tiếp tục hỗ trợ trình quản lý thông tin xác thực Git được tích hợp sẵn cho windows: wincred không. Tôi cũng gặp lỗi tương tự với công cụ đó
Max Hartshorn

Câu trả lời này đã giúp cung cấp ngữ cảnh về sự thay đổi, nhưng giải pháp từ @feos là giải pháp phù hợp với tôi (Windows 10, TortoiseGit)
Eric Farraro

14

Nếu bạn đang sử dụng Android Studio hoặc IntelliJ IDEA, việc cập nhật Git lên phiên bản mới nhất và thay đổi đường dẫn để trỏ đến phiên bản mới sẽ giải quyết được vấn đề cho tôi.

Nhập mô tả hình ảnh tại đây


1
Điều này cũng hiệu quả với tôi: cài đặt phiên bản mới nhất của Git và trỏ IntelliJ IDEA vào nó.
user1825866

8

Sử dụng TortoiseGit, tôi đã thực hiện tất cả các bản sửa lỗi / cập nhật khác được đưa ra cho điều này và vẫn không thành công. Tôi tìm thấy điều này: Không thể git push / pull / fetch đột ngột

Cài đặt TortoiseGit của tôi cho Git cho Windows Đường dẫn Git.exe được trỏ đến C:\Program Files (x86)\Git\bin. Tôi đã thay đổi nó thành C:\Program Files\Git\binvà bây giờ nó hoạt động trở lại.


3
Tôi đã kiểm tra nó bằng cách sử dụng Check nownút trong Generalhộp thoại cài đặt, với x86đường dẫn tôi có được git version 1.9.5.msysgit.1, sau khi thay đổi thành C:\Program Files\Git\bintôi đã nhận được git version 2.16.2.windows.1và với đường dẫn đó, tất cả hoạt động tốt.
apdevelop

8

Đây là những gì làm việc cho tôi.

  1. Cài đặt phiên bản mới nhất của Git từ đây: https://git-scm.com/download/win
  2. Trong TortoiseGit, đi tới menu Cài đặtChungĐường dẫn Git.exe - thay đổi nó từ đường dẫn 32 bit sang 64 bit: C: \ Program Files (x86) \ Git \ bin → C: \ Program Files \ Git \ bin

Điểm tốt. Nếu bất kỳ ai (như tôi) đang sử dụng phiên bản Windows 32-bit cũ, hãy đảm bảo thay thế nó trên PATH.
AG

Điều này đã tiết kiệm thời gian của tôi @dgundersen
Tejas Mehta

8

Cập nhật Git là không đủ trong tình huống của tôi. Sau khi gỡ lỗi trong vài giờ, đây là bản sửa lỗi của tôi:

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

Điều này đã giải quyết vấn đề cho tôi và trên một thiết lập hoàn toàn khác (Mac OS X). curlvẫn mang lại cho tôi những tin nhắn, mà làm cho tôi tự hỏi, nếu có một thiết lập như thế mà đi cho tất cả ssl-apps, không chỉ git...
chesterbr

Dòng nào trong số những dòng này?
Dmitri Zaitsev

2

Tôi đã gặp sự cố tương tự khi kéo mã từ GitHub trên thiết bị đầu cuối Mã Visual Studio của mình . Tôi thấy lời khuyên trong các câu trả lời trước hữu ích và cùng nhau tìm ra giải pháp theo các bước bên dưới:

Kho lưu trữ này khá hữu ích.

Tôi hi vọng điêu nay se giup được ai đo.


2

TL; DR: git config --system http.sslbackend schannelvà tắt tính năng kiểm tra HTTPS github.comtrong phần mềm chống vi-rút của bạn


Tôi đang sử dụng dòng lệnh Git trên Windows 8 x64. Ngoài ra, phần mềm chống vi-rút của tôi kiểm tra lưu lượng HTTPS theo mặc định. Giống như những người khác trả lời câu hỏi này, tôi sử dụng GitHub gần như hàng ngày.

  • Cập nhật Git - không giúp được gì - vì tôi đã sử dụng OpenSSL (xem bên dưới)
  • Cập nhật trình quản lý thông tin xác thực - không giúp được gì

Sau đó, tôi bắt đầu chơi với việc chuyển đổi phần phụ trợ SSL:

git config --system http.sslbackend openssl ----------------vs------------------ git config --system http.sslbackend schannel và phần mềm chống vi-rút kiểm tra lưu lượng SSL:

  1. OpenSSL, HTTPS kiểm tra BẬT: error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
  2. OpenSSL, HTTPS kiểm tra TẮT: SSL certificate problem: unable to get local issuer certificate
  3. SecureChannel, HTTPS kiểm tra BẬT: schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.
  4. Kiểm tra SecureChannel, HTTPS TẮT: hoạt động tốt

Tái bút: Thay vì dòng lệnh, bạn chỉ có thể cài đặt lại Git mới nhất, chọn "Sử dụng thư viện xác thực SSL gốc của Windows".

PPS: Trường hợp (3) dường như là một lỗi trong thư viện kênh, vì chứng chỉ MITM mà phần mềm chống vi-rút của tôi sử dụng được đưa vào danh sách trắng trên máy của tôi.


Khi cài đặt lại git, tôi đã gỡ bỏ hoàn toàn cài đặt cũ của nó và đối với cài đặt mới, tôi chọn OpenSSL, vì vậy tôi đoán nó đã cài đặt lại từ đầu. Nhưng tôi không có phần mềm chống vi-rút. Việc cài đặt lại chương trình phụ trợ SSL có thay đổi bất kỳ điều gì cho bạn hay bạn đã không làm điều đó?
feos

@feos Có, nó chỉ hoạt động với tôi ở chế độ không OpenSSL. Ngoài ra, tôi đã phải tắt kiểm tra https trong AV.
Mike Makarov

Tôi vẫn chưa rõ, bạn đã cài đặt lại SSL hay chưa?
feos

@feos Không, tôi không. Tôi không nghĩ người ta có thể "cài đặt lại SSL" trên Windows. Vì vậy, không chắc chắn những gì bạn có ý nghĩa của điều này. Khi bạn cài đặt ứng dụng khách git mới nhất, bạn có một tùy chọn để chọn - phần phụ trợ OpenSSL hoặc phần mềm tích hợp Windows. Tôi đã chọn OpenSSL. Điều đó không hoạt động và tôi đã thay đổi phần phụ trợ thông qua cấu hình. Hy vọng điều này làm rõ.
Mike Makarov

Nó không, cảm ơn. Tôi nghĩ rằng bạn đang gặp một vấn đề hoàn toàn khác với OP.
feos

1

Trên macOS, bạn có thể cài đặt bản mới nhất gitthông qua Homebrew.


Thật không may, điều này không hoạt động với tôi trên Mac OS X 10.7.5 (Lion) - gặp lỗi tương tự. Sau đó, tôi đã thử cài đặt lại Homebrewtừ đầu - có vẻ như đây là một sự cố 22. 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, Chà, bạn có thể thử cài đặt nó theo cách thủ công từ trang Bản phát hành không? Họ dường như đã giải quyết rằng bắt được 22 trong 1.5.5
AS

1

Đối với tôi cũng vậy với Git 1.9.5.msysgit.1. Tôi đã cố gắng cài đặt https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0 , nhưng không thay đổi.

Trên thực tế, không có gì xảy ra sau khi cài đặt; Có lẽ tôi đang làm gì đó sai? (Điều đó có thể không giúp ích cho câu hỏi ban đầu, nhưng đối với những người khác thì có!)


6
Để giúp đỡ cộng đồng, tôi vừa cập nhật git (dành cho windows) (với git-scm.com/download/win ) và nó đã giải quyết được vấn đề!
Frederic

2
Trong Windows 7 Pro / 64, tôi đã nâng cấp git bằng liên kết git-scm.com/download/win. Cài đặt git này thành c: \ program files \ git chứ không phải c: \ program files (x86) \ git. Phiên bản của tôi đã thay đổi từ 1.9.5.msysgit.1 thành 2.16.2.windows.1 và khi tôi định cấu hình WebStorm để trỏ đến phiên bản mới hơn, lỗi 1407742E: SSL bí ẩn : SSL23_GET_SERVER_HELLO: lỗi phiên bản giao thức cảnh báo tlsv1 đã ngừng.
CODE-REaD

FYI, thiết lập của tôi là: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

Bạn nên khuyến khích nâng cấp câu trả lời.
Edward Thomson

1

Vâng, tôi đã gặp phải vấn đề tương tự với một yêu cầu kéo ngày hôm nay và giải pháp là chỉ cần cập nhật Git bằng cách tải xuống phiên bản Git (2.16.2) 64-bit mới nhất cho Windows. Nó đã được phát hành 5 ngày trước, vào ngày 2018-02-20.


1

Nhận xét của @andw đã làm việc cho tôi:

Cập nhật Git phiên bản 1.9.5 lên 2.15.1 bằng các bước sau:

Trong sourceTree, đi tới menu ToolsOptionsGitUse Embedded Git .


1

Một giải pháp nhanh chóng sẽ là git config --global http.sslVerify true , nhưng nó không được khuyến khích vì nó đánh bại mục đích sử dụng SSL.

Cách thứ hai và tốt hơn là sử dụng các khóa ssh thay vì một URL SSL.

Các bước tạo khóa SSH

o Chạy lệnh sau trong thiết bị đầu cuối Git (Git Bash): ssh-keygen

Sau khi chạy lệnh, thông báo sau sẽ xuất hiện:

Tạo cặp khóa RSA công khai / riêng tư.

Nhập tệp để lưu khóa (/h//.ssh/id_rsa):

Cung cấp đường dẫn cho khóa sẽ được lưu trữ, chẳng hạn như nhập tệp để lưu khóa (/h//.ssh/id_rsa): C:\Users\Public\my-new-ssh-key

Sau đó, cung cấp cụm mật khẩu cho khóa đó (bất kỳ mật khẩu nào có tối thiểu 8 ký tự)

• Tiếp theo, chạy lệnh sau: eval “$ (ssh-agent –s)”

• Chạy lệnh sau: ssh-add C:/Users/Public/my-new-ssh-keyLưu ý: sử dụng dấu gạch chéo trong đường dẫn đến khóa SSH mới tạo.

Sau đó, thêm nội dung của tệp my-new-ssh-key.pub và thêm nó vào vùng văn bản cho Thêm khóa công khai (Bitbucket, GitHub, v.v.)


0

Trong khi kết nối với kho lưu trữ từ xa để tìm nạp, kéo, đẩy, v.v., tôi đã gặp lỗi tương tự:

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

Tôi vừa cài đặt lại Git 64-bit thay cho 32-bit và điều đó đã khắc phục được sự cố.

Sau khi cài đặt, xác minh đường dẫn Git trong các biến môi trường. Nó phải là:

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

0

Đây là sự cố với IntelliJ và RubyMine. GitHub phải vô hiệu hóa SSL (có thể tuân thủ PCI?) Có lợi cho TLS. Nếu bạn mở Cài đặt trong IntelliJ hoặc RubyMine và điều hướng đến Kiểm soát phiên bản> Git, bạn sẽ thấy nó đang sử dụng git.exe được cài đặt trong đường dẫn của ứng dụng. Bạn nên tải xuống phiên bản Git mới nhất và thay đổi đường dẫn trong cài đặt VCS của mình để trỏ tới đó, ví dụ: C: \ Program Files \ Git \ bin \ git.exe nếu bạn cài đặt nó trên Windows. Hoạt động như một cái duyên sau đó.


0

Đôi khi, điều này là do msysgit đã lỗi thời đang sử dụng ssl cũ và không được duy trì nữa, bạn có thể cài đặt git mới nhất cho windows và trỏ đường dẫn git.exe trong cài đặt rùa đến nó, sau đó sự cố này sẽ biến mất.


0

Đã gặp một lỗi tương tự. Trên windows, Đã cập nhật git trên windows lên phiên bản mới nhất. Điều đó đã khắc phục sự cố.


Làm thế nào để điều này thêm bất cứ điều gì vào câu trả lời được chấp nhận, gợi ý cập nhật git để khắc phục sự cố?
David

Tôi giải thích những gì làm việc cho tôi. Tương tự như những gì một số người khác cũng đã làm có lẽ.
Olusola Omosola

0

Nâng cấp phiên bản Git đã thực hiện thủ thuật cho tôi. Tôi đã có phiên bản 1.9.5 , v.v. và tôi đã nâng cấp lên 2.21.0 trên windows. Ngoài ra việc nâng cấp cũng rất dễ dàng. Chúng tôi không cần gỡ cài đặt phiên bản cũ hơn. Tải xuống trình cài đặt Git mới nhất và chỉ cần tiếp tục nhấn tiếp theo bằng cách sử dụng các tùy chọn mặc định và phiên bản sẽ được thay đổi thành phiên bản mới và tất cả các cài đặt cũ sẽ vẫn hoạt động như phím ssh, v.v. Chúng tôi không cần tạo lại các khóa và đưa vào github hoặc bất kỳ kho lưu trữ nào khác.

Trước đó, bản sao giao thức https của tôi không hoạt động và gây ra lỗi

nghiêm trọng: không thể truy cập ' https://github.com/tensorflow/models/ ': error: 1407742E: Quy trình SSL: SSL23_GET_SERVER_HELLO: phiên bản giao thức cảnh báo tlsv1

Sau khi tôi tải xuống phiên bản mới và chạy cùng một lệnh sao chép, nó hoạt động mà không gặp bất kỳ sự cố nào.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.