Saya harus menggunakan server git tanpa sertifikat yang tepat, tetapi saya tidak mau harus melakukannya
env GIT_SSL_NO_VERIFY=true git command
setiap kali saya melakukan operasi git. Tetapi saya juga ingin membiarkan SSL diaktifkan untuk repositori git lainnya. Apakah ada cara untuk menjadikan ini lokal untuk satu repo?
Jawaban:
Anda dapat melakukan
di repo spesifik Anda untuk menonaktifkan sertifikat SSL yang memeriksa hanya repo itu.
sumber
--global
opsi IS diperlukan ketika repo TIDAK diperiksa (tidak dapat mengatur opsi untuk repo yang belum ada secara lokal). Satu selalu dapat menyalakannya kembali setelah.Anda bisa melakukannya sebagai berikut
Untuk satu repo
Untuk semua repo
sumber
sudo
seharusnya hanya digunakan ketika Anda benar-benar membutuhkan root untuk melakukan sesuatu. Seperti menginstal perangkat lunak baru, memodifikasi file sistem penting, memformat ulang drive, mengkonfigurasi ulang jaringan, mengelola layanan ... Tidak ada dalam pertanyaan orang ini yang menyiratkan bahwa ia memerlukan root untuk melakukan apa pun. Jika Anda seorang administrator, Anda harus menjalankan sebagian besar perintah Anda - termasuk perintah yang mengubah konfigurasi Anda - tanpa sudo sebagian besar waktu.Seperti apa yang dikatakan Thirumalai, tetapi di dalam repositori hasil kloning dan tanpa itu
--global
. Yaitu,GIT_SSL_NO_VERIFY=true git clone https://url
cd <directory-of-the-clone>
git config http.sslVerify false
sumber
could not lock global config file .gitconfig: Permission denied
/var/www/...
Khususnya jika Anda membutuhkan klon rekursif
sumber
Jika Anda menggunakan mesin Windows dan menginstal Git, Anda dapat mencoba langkah-langkah di bawah ini:
Di bawah bagian [http] , tambahkan baris: sslVerify = false
sumber
Ada cara mudah mengkonfigurasi GIT untuk menangani server Anda dengan cara yang benar. Cukup tambahkan bagian http khusus untuk server git Anda dan tentukan sertifikat mana (yang disandikan Base64) untuk dipercaya:
~ / .gitconfig
Dengan cara ini Anda tidak akan lagi memiliki kesalahan SSL dan memvalidasi (biasanya) sertifikat yang ditandatangani sendiri. Ini adalah cara terbaik untuk pergi, karena melindungi Anda dari serangan man-in-the-middle. Saat Anda menonaktifkan verifikasi ssl, Anda rentan terhadap serangan semacam ini.
https://git-scm.com/docs/git-config#git-config-httplturlgt
sumber
Jika Anda harus menonaktifkan pemeriksaan SSL untuk satu server git yang menampung beberapa repositori, Anda dapat menjalankan:
(Jika Anda masih menggunakan git <v1.8.5, jalankan
git config --global http.https://my.bad.server.sslVerify false
)Penjelasan dari dokumentasi di mana perintah berada di akhir, menunjukkan
.gitconfig
konten yang tampak seperti:Ini akan mengabaikan semua pemeriksaan sertifikat untuk server ini, apa pun repositori.
Anda juga memiliki beberapa penjelasan dalam kode
sumber
Ini bekerja untuk saya:
sumber
Pertanyaan ini terus muncul dan saya belum menemukan hasil yang memuaskan, jadi inilah yang bekerja untuk saya (berdasarkan jawaban sebelumnya https://stackoverflow.com/a/52706362/1806760 , yang tidak berfungsi):
Server saya
https://gitlab.dev
dengan sertifikat yang ditandatangani sendiri.Jalankan pertama
git config --system --edit
(dari prompt perintah yang ditinggikan, ubah--system
ke--global
jika Anda ingin melakukannya hanya untuk pengguna Anda), lalu masukkan cuplikan berikut setelah[http]
bagian sebelumnya :Kemudian periksa apakah Anda melakukan semuanya dengan benar:
sumber
untuk windows, jika Anda ingin konfigurasi global, kemudian jalankan
sumber
specific repos
secara eksplisitDi Linux, jika Anda memanggil ini di dalam folder repositori git:
ini akan menambahkan
sslVerify = false
di[http]
bagianconfig
file di.git
folder, yang juga bisa menjadi solusi, jika Anda ingin menambahkan ini secara manual dengannano .git/config
:sumber