Usando LDAP como método de autenticación para repositorios git

15

Quiero convencer a mi jefe de que deberíamos usar git para el control de versiones. Él dice que absolutamente debe autenticar a los usuarios a través de nuestro servidor central LDAP.

Miré las diversas soluciones (gitweb, gitorious ...) y realmente no pude encontrar una respuesta definitiva sobre si admiten la autenticación LDAP.

La única solución en la que pude encontrar un poco de información fue una configuración de Apache + mod_ldap. Pero eso significaría que el usuario que se autentica en LDAP no sería necesariamente el mismo que el usuario git real, ¿verdad? (No es que este sea un gran problema, sino algo que me molestaría).

Entonces, ¿cuál es la mejor manera de autenticar a los usuarios de git a través de LDAP?

Leonard Ehrenfried
fuente
1
Agregué más información sobre la autenticación http.
Reconbot

Respuestas:

8

Si bien las claves se utilizan para la mayoría de los servicios públicos de git, la autenticación real se realiza a través de ssh. SSH es más que capaz de autenticarse contra ldap. En lo que respecta a git, una vez que tenga acceso a los archivos, puede ir a la ciudad.

ACTUALIZAR

Git ahora admite (a partir de este año, ¿quién sabía?) Un mecanismo inteligente de empuje http. La forma antigua era usar un servidor webdav, pero tanto la búsqueda como la inserción eran muy lentas e ineficientes. Ahora puede obtener más o menos las mismas velocidades sobre http que ssh: // o git: //. Esto significa que puede usar apache o nginx y usar cualquier esquema de autenticación http que desee. (Ldap, base de datos, etc.)

Más información de pro git y github .

reconbot
fuente
1
Si SSH está configurado para usar PAM para la autenticación, puede realizar la autenticación en su servidor LDAP sin ningún problema. La notable excepción es la gitosis, que hace algunos comandos forzados mágicos con teclas.
voretaq7
Por desgracia, ssh no es capaz sin parches aún no fusionados para obtener claves públicas de LDAP. Hará la autenticación de contraseña a través de LDAP usando pam-ldap, pero no puede consultar LDAP directamente para obtener claves públicas. Muy frustrante.
Craig Ringer
Puede escribir esto, una carga diaria de claves desde ldap al sistema de archivos combinado con una forma de iniciarlo con la forma en que actualice las claves podría hacer el truco.
Reconbot
2

Puede buscar / desarrollar una autenticación de fondo de git utilizando scripts de ganchos de git previos a la recepción. No son necesariamente necesarios para ser un script de shell.

Por ejemplo, si nos fijamos en gancho de pre-recepción de gitorious , verá su manera de autenticar al tipo que está tratando de ingresar al repositorio remoto en esa situación utilizando un Script Ruby. Si lo desea y dedica un poco de su tiempo, puede hacer lo mismo con su idioma favorito y su biblioteca ldap :-)

Herberth Amaral
fuente