Kendi Git sunucunu kur: SSH ve Gitea
SSH üzerinden çıplak depolardan web arayüzlü Gitea’ya kadar kurum içi Git sunucusu kurar, yetkilendirir, yedekler ve geri yüklersin.
Seviye 401 · 15 ders · 12 pratik lab
Dersler
SSH ile Git sunucusu
- Çıplak depo ve paylaşılan depo izinleri
- git-shell ile kısıtlı Git kullanıcısı
- Anahtar başına depo erişimi: authorized_keys kısıtları
- git daemon ve akıllı HTTP: ne zaman, ne kadar güvenli
- Kısa görev: iki ekip için ayrı yetkili SSH Git sunucusu kur
Gitea
- Gitea kurulumu, veritabanı ve ilk yönetici
- Kuruluşlar, ekipler ve depo izinleri
- Dal koruması, zorunlu inceleme ve imzalı commit
- Webhook’lar ve sunucu tarafı kancalar
- Kısa görev: SSH sunucusundaki depoları Gitea’ya taşı
İşletmek
- Git sunucusunu yedeklemek ve geri yüklemek
- Yansı depolar ve yedek konum
- Erişim kayıtlarını incelemek ve anahtarları döndürmek
- Kısa görev: sunucu çöktü: yedekten geri dön ve doğrula
Kapanış
- Bitirme görevi: şirket için yedekli ve denetlenen bir Git hizmeti kur
Pratik lablar
- Kabuk açamayan Git kullanıcısı: Sunucudaki git kullanıcısını git-shell ile kısıtla ve aynı anahtarla push yapılabildiğini ama etkileşimli SSH oturumunun reddedildiğini göster.
- Yalnızca tek depoyu okuyan anahtar: Dağıtım sunucusunun anahtarını authorized_keys kısıtlamalarıyla yalnızca tek bir depoyu okuyabilecek şekilde sınırla ve başka depoya erişimin ve yazmanın reddedildiğini kanıtla.
- Ortak depoda izin karmaşası: İki takımın push yaptığı çıplak depoda bir push sonrası oluşan yanlış grup izinlerini onar, kalıcı paylaşım ayarlarını yap ve iki kullanıcının ardışık push’larının sorunsuz geçtiğini göster.
- Salt okunur takım: Gitea’da Harborview Hospital organizasyonu için denetçi takımı oluştur, iki depoya yalnızca okuma yetkisi ver ve bir denetçi hesabıyla push’un reddedildiğini göster.
- Fazla yetkili hesapları bul: Gitea API ile tüm kullanıcıların yönetici bayraklarını ve takım yetkilerini dök, rol tablosuyla uyuşmayan yetkileri düzelt ve değişiklikleri listele.
- Ayrılan çalışanın erişimini kapat: Ayrılan bir geliştiricinin Gitea erişim belirteçlerini, SSH anahtarlarını ve takım üyeliklerini kaldır, sahibi olduğu depoları devret ve eski belirteçle yapılan API çağrısının reddedildiğini göster.
- Ana dala koruma kuralı: Gitea’da ana dal için doğrudan push’u engelleyen ve birleştirme isteği zorunlu kılan koruma kuralı kur ve doğrudan push denemesinin reddedildiğini göster.
- Teslim edilemeyen webhook: Her push’ta başarısız olan webhook’un nedenini teslim kayıtlarından bul (adres, gizli anahtar ya da izinli ana makine listesi), düzelt ve başarılı bir teslimi göster.
- İmzasız ve onaysız değişikliğe kapalı dal: Sürüm dalını imzalı commit ve iki onay gerektirecek şekilde koru, sunucu tarafı kancayla ek denetim ekle ve imzasız bir değişikliğin hiçbir yoldan girmediğini üç denemeyle kanıtla.
- Gitea yedeğini al ve incele: Gitea’nın tam yedeğini al, arşivde veritabanı, depolar ve yapılandırmanın bulunduğunu listele ve yedek boyutunu ile tarihini rapora yaz.
- İkinci konuma ayna: Kritik depoyu ikinci sunucuya otomatik push aynasıyla eşitle, yeni bir commit gönder ve aynanın aynı commit’e geldiğini ls-remote ile göster.
- Kayıtlarda şüpheli anahtar: SSH ve Gitea erişim kayıtlarında olağan dışı kaynaktan kullanılan anahtarı bul, hangi depolara erişildiğini çıkar, anahtarı döndür ve eski anahtarın artık reddedildiğini kanıtla.
Kurs hakkında
SSH üzerinden çıplak depolardan web arayüzlü Gitea’ya kadar kurum içi Git sunucusu kurar, yetkilendirir, yedekler ve geri yüklersin.
Ne öğreneceksin
- SSH ile Git sunucusu
- Gitea
- İşletmek
- Kapanış
Ön koşullar
Aynı yolun 301 düzeyine kadar olan konularını uygulamış olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 401 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.