不需要公钥就可以安装 gitolite 吗?

不需要公钥就可以安装 gitolite 吗?

我们所有的开发人员都运行 Windows 工作站。我们运行 Linux 开发服务器。我一直想尝试在开发服务器上运行我们自己的 git 服务器。

经过一番研究,我决定尝试安装吉托莱特。很多关于如何安装它的教程都很相似,我一直在关注这个

对我来说没有多大意义的一个步骤是,它希望您在客户端计算机上生成一个公钥,然后将其上传到服务器并像这样使用它:

$ gl-setup YourName.pub

我不明白这一步是干什么的……我要连接并使用 git repos 的客户端计算机大约有十几台……哪台计算机是“客户端”计算机?我是否需要多次执行此步骤,每台客户端计算机执行一次?如果我稍后需要添加新的客户端计算机,会发生什么情况?为什么需要执行此步骤?

我假设密钥是为了让客户端计算机无需输入登录名/密码即可与服务器进行身份验证?我不能只设置客户端工作站用来访问 git 存储库的登录名/密码系统吗?我可以只集成我们的 LDAP 登录名吗?公钥是必需的吗?

此外,我们运行的是 Windows 工作站,而不是 Linux,因此生成公钥并不像安装 openssl 并执行它那么简单。

看起来安装这样的东西应该更简单......

答案1

您需要为将使用 gitolite 的每个用户/客户端计算机组合生成/添加密钥。密钥将被复制到您的 gitolite-admin/keydir 目录中(我使用 $USERNAME-$HOSTNAME-id_rsa.pub 命名约定——不确定这是否是必需的,但它对我有用)。将密钥添加到 keydir 目录后,您需要更新 gitolite-admin/conf/gitolite.conf 文件以设置适当的项目/用户访问权限(使用 $USERNAME-$HOSTNAME-id_rsa 作为命名约定)。

一旦完成后,您就可以进行git add conf keydircommit -m "blah blah blah"git push origin master舞蹈,如果一切顺利,适当的用户应该能够访问您服务器上的相应 git 存储库。

编辑:我不记得 Windows 用户使用的是哪种 git 客户端设置,但它有生成密钥的所有组件(它们不可用,所以我无法询问他们)。我确实尝试了几次才弄清楚并让它工作起来,但设置后它似乎运行良好。

答案2

Gitolite 仅使用一个用户(通常gitolite在服务器上)进行身份验证。这就是为什么您需要将其他用户的公钥添加到 gitolitekeydir目录中才能添加用户。在官方文档中,您可以看到gitolite is (usually) heavily dependent on sshhttp://sitaramc.github.com/gitolite/gl_ssh.html

相关内容