是否有一种方法可以在Git服务器中使用Windows身份验证(Active Directory)?

20
我发现了有关如何在Windows服务器上安装Git并使用SSH(如CopSSH)进行身份验证的文章。 我感到有些惊讶,因为我记得读过一篇文章说不应该使用Windows机器作为共享Git存储库(很抱歉我不记得是在哪里读到的)。 我的问题是,我能否设置Git使用Windows身份验证而不是SSH? 这对我来说将更容易管理。 由于这台机器将由我在“业余时间”内管理,因此越简单越好。

我正在研究Git中的“新”智能Http选项。 - Pat O
7个回答

9

您可以在您的域内使用共享文件夹作为Git仓库,并使用您的域用户进行管理。

c:/> git clone \\myserver\repository\myfolder

3
我认为这会表现出糟糕的性能,特别是在广域网连接上。不过,它仍然可以工作。 - Pat O
@Pat O 你错了,这是我拥有的设置,它具有正确的性能(在100Mbs LAN上为7 MB/s)。 - CharlesB
刚刚完成了这个项目,但是在广域网上运行非常缓慢,在局域网上还可以接受。为了加快速度,我们需要定期运行 git gc。 - Cosmin Onea
不同的用户使用此存储库时,将通过其AD用户标识其签入。 - Klas Mellbourn
他们的名称将基于本地Git配置。 - Luke

5

2
你可以使用 Redmine控制用户访问Git仓库。同时,Redmine原生支持与Active Directory的认证。这样,你就可以在Git服务器上使用Active Directory身份验证。我们使用这种设置没有问题。
如果你不想使用Redmine,我想提醒一下。在我看来,Redmine是目前最好的开源项目管理应用程序,即使你不需要AD身份验证,它也非常值得使用。

1
你可以使用 scm-manager,它有一个活动目录插件。

1
你有没有真正使用过 scm-manager?它存在一些问题。首先,插件似乎表现不一致。其次,Active Directory 插件只是一个模型,实际上还没有提供功能。LDAP 插件更接近工作状态,但同样,它的功能尚未实现或者插件管理存在问题。总之:除非你想修复别人的代码,否则它还没有准备好用于生产环境。 - user246672

1

您还可以使用IIS通过HTTPS托管存储库,然后使用Windows用户凭据保护每个项目子文件夹。


0

Gitlab Enterprise声称支持Active Directory。我还没有试用过,但考虑将其作为选项之一,因为我们正在迁移一个需要AD支持的svn服务器。


0

你可以使用 Windows 凭据存储来管理 Git https://gitcredentialstore.codeplex.com/

它会将你的 Git 凭据保存在电脑的 Windows 凭据存储中,保证了安全性和可靠性。而且非常容易使用 :)


2
该项目已不再维护,但已被 https://github.com/Microsoft/Git-Credential-Manager-for-Windows 取代。 - Zitrax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接