Menggunakan LDAP sebagai metode auth untuk repositori git

15

Saya ingin meyakinkan bos saya bahwa kita harus menggunakan git untuk kontrol versi. Dia mengatakan, bahwa itu mutlak harus mengotentikasi pengguna melalui server LDAP pusat kami.

Saya melihat berbagai solusi (gitweb, gitorious ...) dan tidak dapat menemukan jawaban yang pasti tentang apakah mereka mendukung otentikasi LDAP.

Satu-satunya solusi yang saya dapat menemukan sedikit info adalah pengaturan Apache + mod_ldap. Tetapi itu berarti bahwa pengguna yang mengautentikasi pada LDAP tidak harus sama dengan pengguna git yang sebenarnya, bukan? (Bukannya ini masalah besar, tapi hanya sesuatu yang akan menggangguku.)

Jadi, apa cara terbaik untuk mengotentikasi pengguna git melalui LDAP?

Leonard Ehrenfried
sumber
1
Saya menambahkan beberapa info lebih lanjut tentang http auth.
Mengulang kembali

Jawaban:

8

Sementara kunci digunakan untuk sebagian besar layanan git publik, otentikasi sebenarnya terjadi melalui ssh. SSH lebih mampu mengautentikasi terhadap ldap. Sejauh menyangkut git setelah Anda memiliki akses ke file Anda dapat pergi ke kota.

MEMPERBARUI

Git sekarang mendukung (pada tahun ini, siapa yang tahu?) Mekanisme mendorong http pintar. Cara lama adalah menggunakan server webdav, tetapi keduanya mengambil dan mendorong sangat lambat dan tidak efisien. Sekarang Anda bisa mendapatkan kecepatan yang hampir sama dengan http seperti yang Anda lakukan ssh: // atau git: //. Ini berarti Anda dapat menggunakan apache atau nginx dan menggunakan skema auth http apa pun yang Anda inginkan. (Ldap, database, dll.)

Info lebih lanjut dari pro git dan github .

pengintaian
sumber
1
Jika SSH dikonfigurasikan untuk menggunakan PAM untuk autentikasi, Anda dapat mengotentikasi terhadap server LDAP Anda tanpa masalah. Pengecualian penting adalah Gitosis, yang melakukan sihir perintah paksa dengan kunci.
voretaq7
Sayangnya, ssh tidak mampu tanpa tambalan yang masih belum digabung untuk mendapatkan kunci publik dari LDAP. Ini akan melakukan auth password melalui LDAP menggunakan pam-ldap, tetapi tidak bisa meminta LDAP secara langsung untuk mendapatkan kunci publik. Sangat membuat frustrasi.
Craig Ringer
Anda dapat membuat skrip ini, memuat kunci harian dari ldap ke sistem file yang dikombinasikan dengan cara untuk memulai dengan namun Anda memperbarui kunci dapat melakukan trik.
Mengulang kembali
2

Anda dapat mencari / mengembangkan otentikasi git backend menggunakan skrip kait pra-terima git. Mereka tidak harus menjadi skrip shell.

Misalnya, jika Anda melihat hook pra-terima gitorious , Anda akan melihat cara untuk mengotentikasi orang yang mencoba mendorong repo jarak jauh dalam situasi itu menggunakan Ruby Script. Jika Anda ingin dan meluangkan sedikit waktu Anda untuk itu, Anda dapat melakukan hal yang sama menggunakan bahasa favorit Anda dan pustaka ldapnya :-)

Amaral Herberth
sumber