Gitosis:读访问被拒绝

我试图让我的Ubuntu服务器(从Win7客户端)上运行Gitosis。 它的安装,我可以连接到它通过SSH,但是,如果当我尝试推新项目,我得到以下错误:

错误:gitosis.serve.main:存储库读取访问被拒绝

我自从尝试清除我的/ home / git /文件夹并重新开始 – 但现在我得到同样的错误,即使我试图抓住gitosis-admin项目。

任何想法可能导致这一点?

添加debugging标志到configuration文件给了我这个:

C:\sandbox>git push origin master DEBUG:gitosis.serve.main:Got command "git-receive-pack '/home/git/repositories/sandbox'" DEBUG:gitosis.access.haveAccess:Access check for 'Dan@DAN-PC' as 'writable' on 'home/git/repositories/sandbox'... DEBUG:gitosis.group.getMembership:found 'Dan@DAN-PC' in 'gitosis-admin' DEBUG:gitosis.access.haveAccess:Access check for 'Dan@DAN-PC' as 'writeable' on 'home/git/repositories/sandbox'... DEBUG:gitosis.group.getMembership:found 'Dan@DAN-PC' in 'gitosis-admin' DEBUG:gitosis.access.haveAccess:Access check for 'Dan@DAN-PC' as 'readonly' on 'home/git/repositories/sandbox'... DEBUG:gitosis.group.getMembership:found 'Dan@DAN-PC' in 'gitosis-admin' ERROR:gitosis.serve.main:Repository read access denied fatal: The remote end hung up unexpectedly 

[EDIT2]

为此添加额外的信息 – 我刚刚尝试过Gitolite,并得到类似的错误:

 Cloning into gitolite-admin... R access for home/git/repositories/gitolite-admin DENIED to dan (Or there may be no repository at the given path. Did you spell it correctly?) fatal: The remote end hung up unexpectedly 

这是使用相同的“混帐”用户和密钥。 我试图改变目录的权限,但没有帮助。

任何想法可能导致这一点?

这通常表示(a)您的gitosis.conf的configuration错误,或者(b)您的Gitosis keydir缺less公钥。 为了进一步诊断问题:

  • 查看pipe理库。 由于您可以login到服务器,您可以运行:

     git checkout /path/to/gitosis/repos/gitosis-admin.git 
  • 这会给你一个名为gitosis-admin的目录。 在这个目录里面是你的gitosis.conf文件。

  • 将以下内容添加到文件的顶部:

     [gitosis] loglevel = DEBUG 
  • 提交您的更改并推回原始存储库:

     git commit -m 'enabled debug logging' -a git push origin master 

现在,当你推送到你的gitosis安装,你会得到详细的debugging日志logging,应该有助于诊断问题。 如果这不能指出你的问题,那么在这里发布debugging输出,我们会帮你弄明白。

我强烈build议你放下gitosis并切换到gitolite 。 Gitosis已被弃用,似乎不再被维护,而gitolite被非常积极地维护和支持。 Gitolite可以做一切gitosis可以做,但做得更好,包括详细的错误,而不是你从gitosis得到的模糊错误。

原来,这是因为我使用相同的用户名作为我的主要SSHshelllogin(丹)。 所以我改变了我的gitpipe理使用相同的SSH密钥对,现在看起来工作正常。 也现在使用箭头推荐的Gitolite。