özel kabul etmek için otomatik olarak imzalanan belirli bir https sunucu sertifikası uzaktan yapılandırmak Git
Sysadmin için bir proje ben üzerinde karar SSH "zahmet"; bunun yerine, o her yere Gıt erişilebilir) https://
URL (kullanıcı adı/parola kimlik doğrulaması). Bu URL için sunucu otomatik olarak imzalanan bir sertifika sunar, herkes sertifika doğrulama devre dışı bırakmak için tavsiye etti. Bu iyi bir kur olarak bana, güvenlik-bilge grev değil.
Uzaktan X (veya daha iyisi, https://$SERVERNAME/
ile başlayacak olan bir depo içinde herhangi bir uzak) için özel bir sertifika kabul için Gıt söylemek mümkünsadecebu sertifika? Temelde mükerrer SSH server-anahtar davranış.
CEVAP
Kısaca:
- kendi kendine imzalanan sertifika almak
- bazı (/ör ~git-certs/cert.içine koy pem) dosya
- git bu sertifika, http kullanarak güven için ayarlayın.sslCAİnfo parametre.
Daha fazla bilgi:
Kendini uzak sunucu sertifikası imzalandı
Varsayarsak, sunucu url repos.sample.com
ve erişmek için 443
bağlantı istiyorum.
Nasıl birden çok seçenek var.
openssl kullanarak bence
$ openssl s_client -connect repos.sample.com:443
Bir dosya cert.pem
ve arasında tümünü sil ama bir kısmı (da) içine çıktı -BEGIN CERTIFICATE-
-END CERTIFICATE-
yakalamak
Sonuç dosya içeriği ~/git-certs/cert.pem bu gibi görünebilir:
-----BEGIN CERTIFICATE-----
MIIDnzCCAocCBE/xnXAwDQYJKoZIhvcNAQEFBQAwgZMxCzAJBgNVBAYTAkRFMRUw
EwYDVQQIEwxMb3dlciBTYXhvbnkxEjAQBgNVBAcTCVdvbGZzYnVyZzEYMBYGA1UE
ChMPU2FhUy1TZWN1cmUuY29tMRowGAYDVQQDFBEqLnNhYXMtc2VjdXJlLmNvbTEj
MCEGCSqGSIb3DQEJARYUaW5mb0BzYWFzLXNlY3VyZS5jb20wHhcNMTIwNzAyMTMw
OTA0WhcNMTMwNzAyMTMwOTA0WjCBkzELMAkGA1UEBhMCREUxFTATBgNVBAgTDExv
d2VyIFNheG9ueTESMBAGA1UEBxMJV29sZnNidXJnMRgwFgYDVQQKEw9TYWFTLVNl
Y3VyZS5jb20xGjAYBgNVBAMUESouc2Fhcy1zZWN1cmUuY29tMSMwIQYJKoZIhvcN
AQkBFhRpbmZvQHNhYXMtc2VjdXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAMUZ472W3EVFYGSHTgFV0LR2YVE1U//sZimhCKGFBhH3ZfGwqtu7
mzOhlCQef9nqGxgH U5DG43B6MxDzhoP7R8e1GLbNH3xVqMHqEdcek8jtiJvfj2a
pRSkFTCVJ9i0GYFOQfQYV6RJ4vAunQioiw07OmsxL6C5l3K/r qJTlStpPK5dv4z
Sy jmAcQMaIcWv8wgBAxdzo8UVwIL63gLlBz7WfSB2Ti5XBbse/83wyNa5bPJPf1
U 7uLSofz dehHtgtKfHD8XpPoQBt0Y9ExbLN1ysdR9XfsNfBI5K6Uokq/tVDxNi
SHM4/7uKNo/4b7OP24hvCeXW8oRyRzpyDxMCAwEAATANBgkqhkiG9w0BAQUFAAOC
AQEAp7S/E1ZGCey5Oyn3qwP4q geQqOhRtaPqdH6ABnqUYHcGYB77GcStQxnqnOZ
MJwIaIZqlz 59taB6U2lG30u3cZ1FITuz fWXdfELKPWPjDoHkwumkz3zcCVrrtI
ktRzk7AeazHcLEwkUjB5Rm75N9 dOo6Ay89JCcPKb tNqOszY10y6U3kX3uiSzrJ
ejSq/tRyvMFT1FlJ8tKoZBWbkThevMhx7jk5qsoCpLPmPoYCEoLEtpMYiQnDZgUc
TNoL1GjoDrjgmSen4QN5QZEGTOe/dsv1sGxWC Tv/VwUl2GqVtKPZdKtGFqI8TLn
/27/jIdVQIKvHok2P/u9tvTUQA==
-----END CERTIFICATE-----
web tarayıcınızı kullanarak bence
Git repo ve ben gıt için web UI için ve aynı url erişim komut satırı erişimi olan redmine kullanıyorum. Bu şekilde, web tarayıcı, etki alanı için bir özel durum eklemek zorunda kaldım.
Firefox kullanıyorsanız, Options -> Advanced -> Certificates -> View Certificates -> Servers
, orada bulunan selfsigned ana, openssl kullanılarak oluşturulan olarak seçilen ve aynı dosya var Export
düğmesini kullanarak gittim.
Biraz şaşırdım, otorite gözle görülür bir şekilde bahsedilen bir isim yok. not: Bu gayet iyi.
Özel dosya güvenilen sertifika sahibi olmak
Önceki adımlar bazı dosya sertifika zorunda kalmasına neden olacaktır. Bu etki erişirken senin gıt görünür olduğu sürece bu dosya ne önemli değil. ~/git-certs/cert.pem
kullandım
Not: Eğer daha güvenilir selfsigned sertifikaları ihtiyacınız Varsa, aynı dosya içine koymak:
-----BEGIN CERTIFICATE-----
MIIDnzCCAocCBE/xnXAwDQYJKoZIhvcNAQEFBQAwgZMxCzAJBgNVBAYTAkRFMRUw
...........
/27/jIdVQIKvHok2P/u9tvTUQA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
AnOtHeRtRuStEdCeRtIfIcAtEgOeShErExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxw
...........
/27/jIdVQIKvHok2P/u9tvTUQA==
-----END CERTIFICATE-----
Bu işe (ama test ettim tek tek sertifika ile) olacaktır.
Yapılandırma bu sertifikaya güvenmek için git
$ git config --global http.sslCAInfo /home/javl/git-certs/cert.pem
Ayrıca bu sistem geniş, --global
yerine --system
kullanarak yapabilirsiniz.
Test edin: şimdi başvurmadan: sunucu ile iletişim kurmak mümkün olacaktır
$ git config --global http.sslVerify false #NO NEED TO USE THIS
Eğer zaten ssl sertifikaları cehalet için gıt ayarlamak, ayarlama:
$ git config --global --unset http.sslVerify
ve de hepsi doğru, yazım hataları olmadan yaptığını kontrol edebilirsiniz:
$ git config --global --list
tüm değişkenleri listesinde, küresel olarak belirledik. (Htt http ben yanlış).
Yapmam gereken Internet Explorer 8 ken...
Windows otomatik olarak imzalanan sert...
kabul etmek için söylüyorum java kendi...
Nasıl otomatik olarak bir sayfayı yeni...
Otomatik olarak değişken bir türü beli...