Gitolite - 如何创建用户?

时间:2011-04-11 08:14:50

标签: git ssh configure gitolite settings

我尝试在this manual之后安装git + gitolite - 使用服务器的root instalation。 我只是不明白新的gitolite用户是否必须拥有他们的用户帐户?。当我将 tester.pub 密钥添加到 keydir 文件夹并配置对某个存储库的访问时,git总是要求输入密码并且不允许我克隆任何东西

git clone tester@myserver.com:testrepo
Initialized empty Git repository in /home/testuser/git/testrepo/.git/
testuser@myserver.com's password:
Permission denied (publickey,password).
fatal: The remote end hung up unexpectedly

我不相信创建系统帐户( adduser testuser )是必要的,因为即使没有root权限访问服务器,gitolite也应该是可安装和可配置的。

那么有人可以告诉我我误解了什么吗?

非常感谢。


修改

嗯......我使用客户端安装transcript重新安装了gitolite。现在添加和推送新的pub键成功更改了服务器上 git 用户的〜/ .ssh / authorized_keys。所以它似乎比我的第一次尝试更好。 但我仍然无法从其他地方克隆任何产品。 当我尝试使用msysgit为我的Windows PC添加pub键+编辑配置时,请尝试

$ git clone git@server.com:project.git
cloning into project...
Fatal ERROR: unable to authenticate
Fatal: the remote end hung up unexpectedly

<击> 另一方面,当尝试另一个Linux时,它仍然要求输入密码。

# git clone git@server.com:project.git
Cloning into project...
git@server.com's password: 

即使我为git用户提供密码:

fatal: 'project.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

这可能是由于系统帐户被破坏造成的。

现在我真的不知道该怎么做 - 我应该在每个客户端上以某种方式创建.ssh / config以使其工作吗?

现在我开始有点生气和不安,我可能会删除所有并尝试mercurial:-D 除了有人可以帮助我:)谢谢。

3 个答案:

答案 0 :(得分:5)

是的,这就是问题......我也面临同样的问题..我使用puttygen ssh2-rsa格式创建公钥gitolite不接受这个。你需要转换为openssh

  

ssh-keygen -i -f yourname.pub&gt; yourname_openssh.pub

现在使用此转换后的公钥

答案 1 :(得分:3)

没有“keydata”文件夹,只有“keydir”和“conf”(如上所述in the documentation)。

如果您已在本地克隆gitolite-admin回购(git clone gitolite@server:gitolite-admin),则需要:

  • keydir repo中添加以用户命名的新公钥:username.pub
  • conf/gitolite.conf
  • 中的一个用户组中添加相同的用户名
  • 将新修改推回到gitolite服务器(gitolite-admin repo上有一个特殊的挂钩,它将新的公钥添加到~/.ssh/authorized_keys文件中。

答案 2 :(得分:1)

我解决了msysgit问题。

  1. 我重新发送msysgit并使用OPENSSH而不是PUTTY(建议在gitolite的安装手册中使用 - 但我之前安装了msysgit)
  2. 生成ssh-key时,必须具有默认名称 id_rsa ,否则它对我不起作用
  3. 因为我总是有密钥的自定义名称,所以我不能说步骤1是否是必要的,我不会再尝试:)现在我可以克隆/提交/推送 - 最后。

    特别感谢VonC对他的耐心