Gitlab中每个项目的SSH密钥

时间:2019-03-19 14:25:32

标签: git ssh gitlab virtual-machine

我有一个不知道如何处理的问题。

我在Gitlab,RepoA和RepoB中有2个仓库。在我的gitlab用户中,我有3个ssh密钥,其中一个来自笔记本电脑,另一个来自2个VM(VMA和VMB),可与2个存储库一起使用。通过这种方式,我可以轻松地从虚拟机和笔记本电脑中进行推拉。

在RepoA上,我有一个合作者也可以工作。他已将RepoA共享到他的Gitlab帐户,并且可以访问VMA来推送和提取代码。他永远都无法访问RepoB,所以我的问题来了。如果他能猜出RepoB url,就可以在已经可以访问的VMA上拉取并查看它,因为Gitlab没有为每个项目添加ssh密钥的精细方法。我可能在这里错过了一些非常合乎逻辑的东西,但是我看不到。

我如何授予我在VMA上的合作者访问权限,以仅查看RepoA。

一种可行的方法是在gitlab中生成仅处理VMA的第3个用户,而来自VMA的ssh密钥将引入到Gitlab上的该用户帐户中。但我敢肯定,必须有一种更好,更清洁的方式。

1 个答案:

答案 0 :(得分:0)

GitLab has the feature of project-specific SSH keys:

They are called Deployment keys. You can use them to provide read-only or read/write access for one or multiple repositories.