Git服务器挫折(Gitosis,Gitolite等)

Ben*_*nny 17 linux git gitosis gitolite

请原谅令人沮丧的事情,因为我试图多次正确设置这个设置无济于事(可能并且很可能是由于我的无知,但也可能是由于缺乏详尽而简洁的文档).

我正在尝试设置一个git服务器,以便我可以在一小组开发人员之间共享代码.每个开发人员可以从多个客户端PC连接.我过去来自MS,所以我在开发工具集方面有点被宠坏了,但如果我能得到类似于TFS的东西,它会很棒.

当试图设置gitosis(我明白这是git社区每个https://serverfault.com/questions/225495/ubuntu-server-gitosis-user-naming-convention)或gitolite,这似乎是一旦我设置它,我必须非常小心,因为似乎一切都在牙签上保持平衡.

我最近设置git服务器的尝试包括将我的公钥(benny.pub)从我的笔记本电脑移动到服务器,使用该公钥设置所有内容并下拉配置以设置repo和权限.然后我意识到我想在另一台PC上开发,所以我创建了一个新密钥(benny@desktop.pub)并将benny.pub重命名为benny@laptop.pub,这显然搞砸了.这就是我知道通过改名来愚蠢的地方.

在冗长的描述之后我的问题是:我如何设置一个坚固的自托管git服务器,能够让多个开发人员从多台机器登录,同时保持安全性等?必须有一种经过验证的技术(噱头描述可能4-5种不同的方式......也令人沮丧)这样做,因为我确信我不是唯一一个试图做同样事情的人.也许git不适合我的团队?

任何帮助是极大的赞赏!

Ale*_*roß 15

根据我的经验,您只需要一台SSH服务器,它具有一个 git帐户/登录,您可以使用其中一个公钥连接到该服务器.使用SSH安装gitolite(将gitloite从客户端复制到服务器并执行基本设置)并让开发人员向您发送公钥.将这些密钥添加到您的~推送中的gitolite-admin存储库中.

为什么开发人员首先需要多个密钥对,即使使用多台计算机?这种情况既不会影响SSH处理身份验证的方式,也不影响gitolite如何处理授权:它们仍然是SSH密钥.

  • 如果开发人员必须使用几个密钥对(一个用于git,另一个用于其他服务器),让他们处理复杂性并建议他们为~/.ssh/config他们使用的每个密钥对/服务器组合创建一个条目.

  • 如果开发人员在使用的每台机器上都有不同的密钥对,那么gitolite组可以组合几个公钥:

@agross = agross-1 agross-2
Run Code Online (Sandbox Code Playgroud)