在新安装程序中克隆gitosis-admin错误

我有我的gitosis.conf中的以下内容。 (通过gitsosis-init < id_rsa.pub与我的笔记本电脑上的密钥创build)

 [gitosis] loglevel = DEBUG [group gitosis-admin] writable = gitosis-admin members = michael@laptop 

当我尝试git clone git@SERVER:gitsos-admin.git ,出现以下错误:

 Initialized empty Git repository in /home/michael/gitsos-admin/.git/ DEBUG:gitosis.serve.main:Got command "git-upload-pack 'gitsos-admin.git'" DEBUG:gitosis.access.haveAccess:Access check for 'michael@laptop' as 'writable' on 'gitsos-admin.git'... DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'gitsos-admin.git', new value 'gitsos-admin' DEBUG:gitosis.group.getMembership:found 'michael@laptop' in 'gitosis-admin' DEBUG:gitosis.access.haveAccess:Access check for 'michael@laptop' as 'writeable' on 'gitsos-admin.git'... DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'gitsos-admin.git', new value 'gitsos-admin' DEBUG:gitosis.group.getMembership:found 'michael@laptop' in 'gitosis-admin' DEBUG:gitosis.access.haveAccess:Access check for 'michael@laptop' as 'readonly' on 'gitsos-admin.git'... DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'gitsos-admin.git', new value 'gitsos-admin' DEBUG:gitosis.group.getMembership:found 'michael@laptop' in 'gitosis-admin' ERROR:gitosis.serve.main:Repository read access denied fatal: The remote end hung up unexpectedly 

我知道我的密钥被接受,因为我已经尝试通过SSHlogin,虽然terminal将不会被分配,授权的作品。

我不确定你是否在粘贴你的问题时犯了一个错误,但是你使用的是100%的正面: git clone git@SERVER:gitsos-admin.git而不是git@SERVER:gitosis-admin.git

这是一个微妙的变化,但你的例子显示你试图克隆gitsos -admin.git而不是gitosis -admin.git

你确定gitosis正在运行的用户对存储库所在的目录有访问权限吗? (和其所有的子目录,包括回购本身)我第一次设置我们的gitosis服务器时,我自己遇到了这个问题。

这可能发生的另一个原因是如果keyfile名称不匹配gitosis.conf中的名称。 重要的一点是:你的名字出现在三个地方。 首先,在gitosis.conf文件中。 其次是密钥文件的名称 。 第三,在你的公钥最后的密钥文件里面。

我发现硬件方式的密钥文件的名称必须是您的用户名(在gitosis.conf)与“.pub”附加到它。 因此,例如,如果您的用户名在gitosis.conf中是“mtiller”,那么您的密钥文件最好名为“mtiller.pub”。 密钥文件内的名字是(据我所知)是不相关的。

这可能是非常令人困惑的,因为即使Git的debugging输出也没有提到像“找不到用户xyz的密钥”这样的明确的东西,这真的很烦人。 换句话说,当这个问题真的是一个authentication问题时,它会吐出授权信息/错误。

根据你如何导入密钥,这可能会搞砸了。 虽然我不认为你提到的方法会导致这个问题,但是我提到这个问题是因为在寻找名称不匹配问题的解决scheme时遇到了问题,所以有人可能会在某个时刻出现这个问题。

我知道这不是直接回答你的问题,但我没有足够的代表。 发表评论。 迈克尔·蒂勒(Michael Tiller)说的不完全正确。 我遇到了一个类似的问题,我在这里解释

我怎样才能让gitosis区分用户名相同的两个用户

您在gitosis.conf中使用的名称和ssh密钥文件的名称需要保持一致。 但是,这并不需要以任何方式与ssh密钥文件中的用户名元素相对应。