Saya menggunakan Git (dan GitHub) setiap hari dan semuanya telah berfungsi dengan baik dan tiba-tiba, saya tidak dapat lagi berkomunikasi dengan repositori GitHub jarak jauh saya melalui perintah Git saya. Ketika saya mencoba untuk "Git pull", muncul error berikut:
fatal: tidak dapat mengakses ' https://github.com/snahrvar/eatibl.git/ ': error: 1407742E: SSL rutin: SSL23_GET_SERVER_HELLO: versi protokol peringatan tlsv1
Jadi, saya menguji di beberapa repositori, dan saya mendapatkan kesalahan yang sama di komputer saya. Saya meminta orang lain berinteraksi dengan repositori yang sama, dan itu berfungsi dengan baik untuk mereka. Sebelum kesalahan ini, saya melakukan "npm install sharp" pada sebuah proyek dan akhirnya gagal, dan saya curiga ini mungkin telah mengacaukan beberapa pengaturan SSL, tapi itu tebakan liar!
Pikiran atau panduan umum apa pun akan sangat dihargai!
Jika itu membantu sama sekali, inilah lingkungan saya:
- Versi Git: 1.9.4.msysgit.2
- Versi Windows: Windows 8.1
Jawaban:
Memperbarui TortoiseGit dan GCM tidak membantu saya, tetapi memperbarui Git itu sendiri membantu, sesuai saran @ Frederic di komentar.
https://git-scm.com/download/win
Untuk memastikan versi baru Git diinstal dengan benar dan tidak bertentangan dengan instalasi sebelumnya (ini mungkin, jika Anda menggunakan TortoiseGit, karena ini akan menggunakan folder berbeda dan mengacaukan variabel PATH), hapus instalasi Git yang ada sebelum menginstal Git yang diperbarui . Mungkin juga perlu menginstal dengan hak administrator.
sumber
Anda mungkin mengalami ketidakcocokan dengan penghentian GitHub atas protokol enkripsi SSL yang lemah:
Pemberitahuan penghapusan standar kriptografi yang lemah
Solusinya akan bervariasi, tetapi untuk Windows Anda mungkin perlu memutakhirkan manajer kredensial Git ke 1.14.0
https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0
sumber
Jika Anda menggunakan Android Studio atau IntelliJ IDEA, memperbarui Git ke versi terbaru dan mengubah jalur untuk menunjuk ke versi baru akan menyelesaikan masalah bagi saya.
sumber
Menggunakan TortoiseGit, saya melakukan semua perbaikan / pembaruan lain yang diberikan untuk ini dan masih belum berhasil. Saya menemukan ini: Tidak dapat melakukan git push / pull / fetch tiba-tiba
Pengaturan TortoiseGit saya untuk Git untuk Windows yang ditunjukkan oleh jalur Git.exe
C:\Program Files (x86)\Git\bin
. Saya mengubahnya menjadiC:\Program Files\Git\bin
dan sekarang berfungsi lagi.sumber
Check now
tombol dalamGeneral
dialog pengaturan, denganx86
jalur yang saya dapatkangit version 1.9.5.msysgit.1
, setelah mengubah keC:\Program Files\Git\bin
Saya telah mendapatkangit version 2.16.2.windows.1
dan dengan jalur itu semuanya berfungsi dengan baik.Inilah yang berhasil bagi saya.
sumber
Memperbarui Git tidak cukup dalam situasi saya. Setelah debugging selama beberapa jam, ini adalah perbaikan saya:
sumber
curl
masih memberi saya pesan, yang membuat saya bertanya-tanya apakah ada pengaturan seperti itu yang berlaku untuk semua aplikasi ssl, tidak hanyagit
...Saya mengalami masalah yang sama saat menarik kode dari GitHub di terminal Visual Studio Code saya . Saya menemukan saran dalam jawaban sebelumnya berguna dan meretas solusi bersama-sama mengikuti langkah-langkah di bawah ini:
C:\Program Files (x86)\Git\bin.
menjadiC:\Program Files\Git\bin
.Repositori ini cukup berguna.
Saya harap ini membantu seseorang.
sumber
TL; DR:
git config --system http.sslbackend schannel
dan matikan pemeriksaan HTTPSgithub.com
di perangkat lunak antivirus AndaSaya menggunakan baris perintah Git di Windows 8 x64. Selain itu, perangkat lunak antivirus saya memeriksa lalu lintas HTTPS secara default. Seperti orang lain dalam menjawab pertanyaan ini, saya menggunakan GitHub hampir setiap hari.
Lalu saya mulai bermain dengan mengganti backend SSL:
git config --system http.sslbackend openssl ----------------vs------------------ git config --system http.sslbackend schannel
dan perangkat lunak antivirus memeriksa lalu lintas 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.
NB: Daripada menggunakan baris perintah, Anda dapat menginstal ulang Git terbaru, memilih "Gunakan pustaka validasi SSL Windows asli".
PPS: Kasus (3) tampaknya merupakan bug di pustaka schannel, karena sertifikat MITM yang digunakan perangkat lunak antivirus saya masuk daftar putih di komputer saya.
sumber
Di macOS, Anda dapat menginstal yang terbaru
git
melaluiHomebrew
.sumber
Homebrew
dari awal - tampaknya menarik22.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
Sama untuk saya dengan Git 1.9.5.msysgit.1 juga. Saya mencoba menginstal https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0 , tetapi tidak ada perubahan.
Sebenarnya, tidak ada yang terjadi setelah instalasi; mungkin saya melakukan sesuatu yang salah? (Itu mungkin tidak membantu untuk pertanyaan awal, tapi untuk orang lain, ya!)
sumber
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
Ya, saya mengalami masalah yang sama pada permintaan tarik hari ini dan solusinya adalah memperbarui Git dengan mengunduh Git versi 64-bit terbaru (2.16.2) untuk Windows. Ini dirilis 5 hari yang lalu, pada 2018-02-20.
sumber
Komentar oleh @andw berhasil untuk saya:
Perbarui Git versi 1.9.5 ke 2.15.1 menggunakan langkah-langkah berikut:
Di sourceTree, masuk ke menu Tools → Options → Git → Use Embedded Git .
sumber
Solusi cepatnya adalah git config --global http.sslVerify true , tetapi tidak disarankan karena itu mengalahkan tujuan menggunakan SSL.
Cara kedua dan lebih baik adalah dengan menggunakan kunci ssh daripada URL SSL.
Langkah-langkah untuk menghasilkan kunci SSH
o Jalankan perintah berikut di terminal Git (Git Bash): ssh-keygen
Setelah menjalankan perintah, akan muncul pesan berikut:
Menghasilkan pasangan kunci RSA publik / pribadi.
Masukkan file untuk menyimpan kunci (/h//.ssh/id_rsa):
Berikan jalur untuk menyimpan kunci, misalnya, masukkan file untuk menyimpan kunci (/h//.ssh/id_rsa):
C:\Users\Public\my-new-ssh-key
Kemudian berikan frasa sandi untuk kunci itu (kata sandi apa pun dengan minimal 8 karakter)
• Selanjutnya jalankan perintah berikut: eval “$ (ssh-agent –s)”
• Jalankan perintah berikut:
ssh-add C:/Users/Public/my-new-ssh-key
Catatan: gunakan garis miring di jalur ke kunci SSH yang baru dibuat.Setelah itu, tambahkan konten file my-new-ssh-key.pub dan tambahkan di area teks untuk Tambahkan kunci publik (Bitbucket, GitHub, dll.)
sumber
Saat menghubungkan ke repositori jarak jauh untuk mengambil, menarik, mendorong, dll., Saya mengalami kesalahan yang sama:
Saya baru saja menginstal ulang Git 64-bit sebagai ganti 32-bit dan itu memperbaiki masalah.
Setelah penginstalan, verifikasi jalur Git di variabel lingkungan. Harus:
sumber
Ini adalah masalah dengan IntelliJ dan RubyMine. GitHub harus menonaktifkan SSL (mungkin sesuai dengan PCI?) Untuk mendukung TLS. Jika Anda membuka Pengaturan di IntelliJ atau RubyMine dan menavigasi ke Kontrol Versi> Git, Anda akan melihatnya menggunakan git.exe yang diinstal di bawah jalur aplikasi. Anda harus mengunduh versi terbaru Git dan mengubah jalur dalam pengaturan VCS Anda untuk mengarah ke sana, misalnya C: \ Program Files \ Git \ bin \ git.exe jika Anda menginstalnya di Windows. Bekerja seperti pesona setelah itu.
sumber
Kadang-kadang, ini disebabkan oleh msysgit usang yang menggunakan ssl lama dan tidak terawat lagi, Anda dapat menginstal git terbaru untuk windows , dan mengarahkan jalur git.exe dalam pengaturan kura-kura ke sana, kemudian masalah ini hilang.
sumber
Mengalami kesalahan serupa. Di windows, Memperbarui git di windows ke versi terbaru. Itu memperbaiki masalah.
sumber
Peningkatan versi Git berhasil bagi saya. Saya memiliki versi 1.9.5 dan seterusnya dan saya meningkatkan ke 2.21.0 di windows. Upgrade juga sangat mudah. Kami tidak perlu menghapus versi lama. Unduh penginstal Git terbaru dan terus tekan next menggunakan opsi default dan versi akan diubah ke versi baru dan semua pengaturan lama akan tetap berfungsi seperti kunci ssh dll. Kami tidak perlu membuat kunci lagi dan menyalakannya github atau repositori lainnya.
Sebelumnya kloning protokol https saya tidak berfungsi dan memberikan kesalahan
Setelah saya mengunduh versi baru dan menjalankan perintah klon yang sama, itu berfungsi tanpa masalah.
sumber