有一个项目,我可以访问远程git仓库,我多年来一直在部署我的更改,但地址是我唯一的信息。现在,一个新人应该能够访问它,但我不知道我应该如何授予他访问权限。谷歌搜索在GitHub上取得了一些成果,但这是命令行,很久以前授予我访问权限的人不再在团队中。有没有办法授予新人使用我正在使用的仓库?
答案 0 :(得分:4)
我在此期间找到了答案:
1. ssh <path or alias>
2. vim ~/.ssh/authorized_keys
3. Add the public ssh key.
答案 1 :(得分:2)
是的!实际上有几种众所周知的简单方法可以做到这一点。我在这里说两个。需要注意的一件事是授权与服务器有关,而不是git!这意味着,我在这里讨论的解决方案都是关于创建用户(或使用预先存在的用户)并将访问凭证传递给您的人。
解决方案A
在服务器上创建一个新用户,并将用户名和密码传递给该人。然后他就能克隆代表:
git clone username@hostname:/path/to/.git
然后提示输入密码。他很高兴。您将为每个新的人创建一个新用户。这里的关键点是,对于小型团队来说,这是一个简单而好的解决方案。如果团队变大,这会变得非常糟糕!
解决方案B
在服务器上创建新用户或使用现有用户并将用户名传递给每个家伙将使用git repo,即使你自己想要!只需确保您要授予访问权限的每个人都向您发送他/她的公钥,如下所示:
在家伙的方面:
ssh-keygen -t rsa
这应该生成私钥和公钥对。他应该向你发送公共的(扩展名为.pub的那个)。您获取该文件并执行以下操作:
sh-copy-id [-i fileName] userName@host
username
是您传递给每个家伙的用户名。主机名是服务器的主机名。您可以从本地计算机执行此命令。 (这相当于您在答案中发布的命令)
只需关闭该用户的bash shell,以确保没有用户ssh服务器:D这里是如何执行此操作:(您在服务器计算机上执行此命令)
sudo chsh username # and enter the path to git-shell, usually: /usr/bin/git-shell
这里的要点是,当团队扩展时,这是非常简单的方法。