Utilizzo di LDAP come metodo di autenticazione per i repository git


15

Voglio convincere il mio capo che dovremmo usare git per il controllo della versione. Dice che deve assolutamente autenticare gli utenti attraverso il nostro server LDAP centrale.

Ho esaminato le varie soluzioni (gitweb, gitorious ...) e non sono riuscito a trovare una risposta definitiva sul supporto dell'autenticazione LDAP.

L'unica soluzione su cui sono riuscito a trovare alcune informazioni è stata un'impostazione di Apache + mod_ldap. Ciò significherebbe che l'utente che si autentica su LDAP non sarebbe necessariamente lo stesso dell'utente git vero, giusto? (Non che questo sia un grosso problema, ma solo qualcosa che mi darebbe fastidio.)

Quindi, qual è il modo migliore per autenticare gli utenti git tramite LDAP?


1
Ho aggiunto alcune ulteriori informazioni su http auth.
riconnettere il

Risposte:


8

Mentre le chiavi sono usate per la maggior parte dei servizi git pubblici, la vera autenticazione avviene tramite ssh. SSH è quindi più in grado di autenticarsi contro ldap. Per quanto riguarda git, una volta che hai accesso ai file puoi andare in città.

AGGIORNARE

Git ora supporta (a partire da quest'anno, chi lo sapeva?) Un meccanismo di spinta http intelligente. Il vecchio modo era usare un server webdav, ma sia il recupero che il push erano molto lenti e inefficienti. Ora puoi ottenere praticamente le stesse velocità su http di quanto faresti con ssh: // o git: //. Ciò significa che puoi usare apache o nginx e utilizzare qualsiasi schema di autorizzazione http che desideri. (Ldap, database, ecc.)

Maggiori informazioni da pro git e github .


1
Se SSH è configurato per utilizzare PAM per l'autenticazione, è possibile eseguire l'autenticazione sul server LDAP senza problemi. L'eccezione notevole è Gitosis, che fa un po 'di magia a comandi forzati con le chiavi.
voretaq7,

Purtroppo, ssh non è in grado, senza patch ancora non unite, di ottenere le chiavi pubbliche da LDAP. Farà l'autenticazione della password tramite LDAP usando pam-ldap, ma non può interrogare LDAP direttamente per ottenere le chiavi pubbliche. Molto frustrante.
Craig Ringer,

Puoi scrivere questo script, un carico giornaliero di chiavi da LDAP al filesystem combinato con un modo per dare il via con esso, comunque aggiorni le chiavi potrebbe fare il trucco.
Riconnetta il

2

Puoi cercare / sviluppare un'autenticazione backend git usando gli script git di pre-ricezione. Non sono necessariamente necessari per essere uno script di shell.

Ad esempio, se osservi l' hook di pre-ricezione gitoroso , vedrai il modo di autenticare il ragazzo che sta provando a spingere nel repository remoto in quella situazione usando uno Script Ruby. Se lo desideri e trascorri un po 'del tuo tempo su di esso, puoi fare lo stesso usando la tua lingua preferita e la sua libreria ldap :-)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.