使用 LDAP 作为身份验证方法来管理 git 存储库
有没有人有使用 LDAP 作为身份验证方法来管理 Git 存储库的经验,我的老板更喜欢使用 LDAP 而不是其他工具。任何建议都会有所帮助!非常欢迎提供更详细的信息。
Does anyone have experience using LDAP as auth method to manage Git Repositories, my boss prefers using LDAP than other tools. Any suggestion will be help! More detailed information will be very welcome.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以轻松地将 LDAP 身份验证添加到 Apache Httpd 服务器。
并且您可以轻松添加 智能 http cgi 脚本 'git-http -backend'(与 git 一起打包)
这意味着您可以推送到 https 地址,前提是您首先输入了 LDAP 凭据。您有权访问 Apache 页面,但根本不使用身份验证。
请参阅“mod_authn_ldap 和 mod_authz_ldap 之间的差异”。
但是:
实际使用身份验证并与 Git 授权访问结合的唯一方法是使用 Gitolite。
例如,请参阅“使存储库可用于 ssh和http模式客户端”。
我已经使用(多个)LDAP 身份验证设置了 gitolite,在 Apache 配置文件中进行身份验证步骤,然后使用已识别的用户作为参数调用 gitolite:
首先我声明 LDAP 别名:(
'
@xx@
'是要被测试或生产值替换的模板)然后我 在我调用
gitolite
的VirtualHost
中使用这些别名(如果身份验证成功)You can easily add LDAP authentication to an Apache Httpd server.
And you can easily add a smart http cgi script 'git-http-backend' (packaged with git)
That means you can push to an https address, provided you did enter your LDAP credentials first. You are authorized to access the Apache pages, but the authentication isn't used at all.
See "Difference between mod_authn_ldap and mod_authz_ldap".
However:
The only way to actually use the authentication, and combine with a Git authorization access is to use Gitolite.
See for instance "Making repositories available to both ssh and http mode clients".
I have setup gitolite with (multiple) LDAP authentication, making the authentication step in the Apache config file, and then calling gitolite with the identified user as a parameter:
First I declare LDAP aliases:
(The '
@xx@
' are templates to be replace by test or production values)Then I use those aliases in a
VirtualHost
in which I callgitolite
(if the authentication succeeds)既然您提到了 OpenLDAP,我假设您希望在 Unix/Linux 环境中实现此功能。
据我所知,Git 本身不进行身份验证。您需要设置 ldap 来管理用于访问 git 存储库的服务。例如,如果您使用 SSH,则配置 SSH 守护程序以针对 ldap 进行身份验证。
如何配置完全取决于您所使用的具体设置。如果您需要帮助,我建议您在 serverfault.com 上发布详细问题。
您可能还会发现此相关问题很有趣。
Since you mention OpenLDAP, I'm assuming you want to make this work on a Unix/Linux environment.
Git itself doesn't do authentication afaik. You need to setup ldap to manage the service used to access the git repository. For example if you use SSH then configure your SSH daemon to authenticate against ldap.
How to configure that exactly depends on the exact setup you're using. If you need help with that I recommend posting a detailed question over on serverfault.com.
You may also find this related question interesting.