Git sunucusu için SSH ve HTTP'nin artıları ve eksileri nelerdir?


23

Bir git sunucusu kurmak istiyorum. Birkaç tane nasıl yapılır, çok detaylı buldum.

Bazıları Ssh ile erişilebilen bir git-server kurulumunu açıklarken, diğerleri HTTP üzerinden erişebilir. (Diğerleri bile gitolit gibi aletler önerir).

SSH veya HTTP üzerinden seçim yapmanın artıları veya eksileri var mı? Görünüşe göre HTTP’de dosya aktarımı oldukça yavaştır, ama akılda tutulması gereken başka şeyler olup olmadığını merak ediyorum.

Varsa bir git sunucusu kurmanın en yaygın yolu nedir?

Yanıtlar:


22

En yaygın yolun ne olduğunu sorarken, durumunuza bakmanın ve bir protokolün diğerini dışlamadığını hatırlatmanın daha iyi olacağını düşünüyorum - ihtiyacınız olursa daha sonra erişim protokolü ekleyin.

  • En verimli ve hızlı yerel Git cini kullanmaktır. Ancak, küçük özellikler önerildi: şifreleme yok, kimlik doğrulama yok. Depolarınızın halka açık salt okunur aynaları için idealdir. Performansa ihtiyacınız varsa, işletim sisteminizle birlikte verilen sürüm yerine yakın zamanda bir sürüm yüklemeyi düşünün.

  • En uyumlu yol HTTP'dir. Yerli Git'ten daha az verimli, ancak o kadar da bir fark yok. HTTP'nin en önemli yanlısı güvenlik duvarı nüfuzu ve proxy desteğidir. Çoğu ağ geçidi / güvenlik duvarı için normal HTTP trafiği olarak görünür.

  • Daha güvenli olan HTTPS'dir, ancak kaçınılmaz olarak da daha az verimlidir. Oldukça bazı yapılandırmalar gerektirir. Ayrıca güvenilir bir TLS sertifikasına ihtiyacınız olacak.

  • Benzer güvenlik, ancak daha yaygın bir şekilde SSH kullanmaktır. Komut satırında protokol belirtilmemişse , varsayılan ayardır . SSH ile güçlendirilmiş, güçlü şifreleme ve hem parola hem de anahtar doğrulama sağlar. Konvansiyonel olmasa da, bu şekilde anonim erişime izin vermek mümkündür.

Tavsiyem, depolarınızın kullanım durumlarına bağlı olacaktır:

  • özel depolar ve küçük kullanıcı grubu: SSH

  • halka açık depolar, herhangi bir miktarda klon, ancak küçük bir itme ayrıcalıklı kullanıcı grubu: HTTP ve Git (yalnızca getir) + SSH (+ push-access)

  • Yukarıdakilerin herhangi biri, ancak çok fazla sayıda ayrıcalıklı kullanıcı ile: muhtemelen Git'in felsefesini anlamıyorsunuz.

Bazı genel veya kurumsal ağlar Git ve SSH trafiğini engelleyebilir. Depolarınıza gerçekten her yerden erişmeniz gerekiyorsa , hem HTTPS hem de SSH kullanmayı düşünün.


Startssl.com adresinden HTTPS için ücretsiz TLS sertifikaları alabilirsiniz. Tüm ana işletim sistemleri / tarayıcılar tarafından güvenilir.
WhyNotHugo


2

Depolarınız genel olarak istemci tarafında kullanımı kolay olduğu için HTTPS'yi salt okunur erişim için kullanabilirsiniz. Aksi takdirde sadece SSH kullanmalısınız. Her durumda, daha iyi kimlik doğrulama yönetimine sahip olduğundan yazma erişimi için SSH kullanmalısınız.


oh, yani ikisini karıştırmak mümkün mü? Yazma ve okuma erişimi için SSH ve salt okunur erişim için Https?
Stephane Rolland

Evet öyle. Çok fazla sorun olmamalı.
Christopher Perrin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.