Використання LDAP як метод auth для сховищ git


15

Я хочу переконати мого шефа, що ми повинні використовувати git для контролю версій. Він каже, що він абсолютно повинен аутентифікувати користувачів через наш центральний сервер LDAP.

Я переглянув різні рішення (gitweb, gitorious ...) і не зміг знайти остаточну відповідь про те, чи підтримують вони автентифікацію LDAP.

Єдине рішення, на якому я міг знайти трохи інформації, - це налаштування Apache + mod_ldap. Але це означає, що користувач, що підтверджує автентичність на LDAP, не обов'язково буде таким самим, як власне користувач git, правда? (Не те, що це величезна проблема, а просто щось, що могло б мене помилити.)

Отже, який найкращий спосіб аутентифікувати користувачів git через LDAP?


1
Я додав ще трохи інформації про http auth.
рекобата

Відповіді:


8

Хоча ключі використовуються для більшості публічних служб git, справжня автентифікація відбувається через ssh. SSH більше здатний до автентифікації проти ldap. Що стосується git, коли ви отримаєте доступ до файлів, ви можете їхати в місто.

ОНОВЛЕННЯ

Git тепер підтримує (станом на цей рік, хто знав?) Розумний механізм натискання http. Старий спосіб полягав у використанні сервера webdav, але і отримання, і натискання були дуже повільними та неефективними. Тепер ви можете отримати майже однакові швидкості через http, як і для ssh: // або git: //. Це означає, що ви можете використовувати apache або nginx та використовувати будь-яку схему http auth, яку ви хочете. (Ldap, база даних тощо)

Більше інформації від pro git та github .


1
Якщо SSH налаштований на використання PAM для аутентифікації, ви можете авторизуватися на вашому сервері LDAP без проблем. Визначним винятком є ​​Gitosis, який виконує магію з примусовими командами.
voretaq7

На жаль, ssh не здатний без ще не об'єднаних патчів отримання відкритих ключів від LDAP. Він виконає авторизацію паролів через LDAP за допомогою pam-ldap, але не може запитувати LDAP безпосередньо, щоб отримати відкриті ключі. Дуже засмучує.
Крейг Рінгер

Ви можете прописати це, щодня завантажуючи ключі від ldap до файлової системи, поєднуючись із способом розпочати це, однак оновлення ключів може зробити трюк.
рекобата

2

Ви можете шукати / розробляти аутентифікацію бекенда для git, використовуючи попередньо отримані скрипти git hooks. Вони не обов'язково повинні бути сценарієм оболонки.

Наприклад, якщо ви заглянете в гігантський "гачок , який попередньо отримує , ви побачите спосіб аутентифікувати хлопця, який намагається просунутись у віддалене репо в цій ситуації за допомогою Ruby Script. Якщо ви хочете і витратите на це трохи свого часу, ви можете зробити те ж саме, використовуючи свою улюблену мову та її бібліотеку ldap :-)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.