Halid bir sistem yöneticisinin güncesi.

wordmark

Yaklaşık 2 senedir Gitlab kullanıyoruz. İlk versiyonlarından itibaren oldukça kullanışlı ve güzel bir kod revizyon aracı. Birkaç gün önce farkettiğim bir hatayı buraya not edeyim istedim. Gitlab’ı şu an Omnibus installer veya kaynak kodun derlenmesi yolu ile kurabiliyorsunuz. En baştan beri aslında takip ettiğim kurulum metodu kaynak koddan ilerlemekti. Bu noktaya kadar sıkıntı yok :)

Bilindiği üzere Github’ta da kodu revize ederken push için iki yöntem var. Birincisi HTTP üzerinden kimlik doğrulaması. Bu doğrulamada push veya clone sırasında size userid ve password bilginiz soruluyor. Herhangi bir pub_key bilgisine gerek kalmadığı için kullanıcı bilgilerinizi bildiğiniz sürece sıkıntı yok.

İkinci yöntem ise pub_key ile doğrulamanın yapılması. Normal şartlarda bu doğrulamayı yapan aslında openssh’ın servisi. Bu servisi kullanıcının oluşturduğu public key’i doğrulamaya çalışıyor. Ancak OpenSSH, yeni sürümlerinde public key authentication mevzusunu pasife almış durumda. Bir önceki sürümlerde bu parametre doğrudan açık geliyordu. Yani gitlab üzerinde ssh public key’iniz olsa bile, commit ve push sırasında size git parolasını soruyor. Aslında burada public key denemesi yapılıyor, ancak openssh server(aslında gitlab server) public keyinizi doğrulayamadığı için git parolasını soruyor.

Bu durumu düzeltmek için gitlab sunucusu üzerinde yer alan openssh ayar dosyalarına 1-2 parametre değişikliği yapacağız.

/etc/ssh/sshd_config dosyasında yukarda yer alan parametreleri değiştirip, servisi yeniden başlattığınızda problem çözülmüş oluyor :)