我想为客户在一台计算机上部署软件,但该计算机有多个私有存储库,并且属于多个组织。
我不想给予客户访问我所属的所有组织。我所要做的就是部署代码并允许客户定期更新它。
这里有一个类似的问题:将Github API访问权限限制为用户的一个存储库
但是,我看不到一种方法可以限制SSH访问Github中的单个存储库。
https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/
有谁知道我如何才能只允许访问远程PC上的单个私有存储库?
3条答案
按热度按时间kxxlusnw1#
如果你想限制Git对单个仓库的访问,那么你可以使用SSH deploy key,它可以是只读的,也可以是读写的。它们就是为这种情况设计的。GitHub目前没有提供一种基于HTTP凭据限制对单个存储库的访问的方法。
请注意,部署键必须是唯一的;也就是说,单个部署密钥必须与用于任何用户或任何其他存储库的密钥不同。
您还可以将客户添加为单个存储库的协作者,在这种情况下,他们可以访问该存储库,但不能访问其他任何内容。
mrfwxfqh2#
您是否允许客户访问您的帐户?这似乎是某人可以访问您的私有存储库的方式。
您可以让客户创建一个git帐户,将他们作为协作者添加到您的私有存储库,并将机器的ssh密钥添加到他们的帐户。然后,客户可以使用其帐户访问您的存储库。我相信这样他们就可以访问他们的存储库,而不是你的其他存储库。
3htmauhk3#
您可以使用细粒度的个人访问令牌来访问单个存储库:https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens