【发布时间】:2013-11-14 11:15:37
【问题描述】:
我是第一次设置 gitolite。我正在关注this instructions。
当我 ssh 时,它看起来很好:
$ ssh -p 2222 gitolite@debian
PTY allocation request failed on channel 0
hello gitolite, this is gitolite@debian running gitolite3 v3.5.3.1-1-gf8776f5 on git 1.7.2.5
R W gitolite-admin
R W testing
Connection to debian closed.
但是在尝试克隆时,它给了我以下错误:
$ git clone ssh://gitolite@debian:2222/home/gitolite/repositories/gitolite-admin.git
Cloning into 'gitolite-admin'...
FATAL: R any home/gitolite/repositories/gitolite-admin gitolite DENIED by fallthru
(or you mis-spelled the reponame)
fatal: The remote end hung up unexpectedly
我正在尝试从 yasin@vonneumann 帐户进行克隆。我将此用户 RSA 公钥上传到 debian 服务器,将其重命名为 gitolite.pub 并运行 gitolite setup -pk gitolite.pub,没有任何消息或错误。然后在 yasin@vonneumann 主机上,我在 ~/.ssh/config 创建了一个文件,内容如下:
host debian
user gitolite
hostname debian
identityfile ~/.ssh/gitolite
(我还在 vonneumann 处将 id_rsa 复制为 gitolite)
我发现this question 相似,但答案对我不起作用。
任何帮助表示赞赏,谢谢。
【问题讨论】:
-
关于接近投票:有关通用计算硬件和软件的问题不在 Stack Overflow 的主题范围内除非它们直接涉及主要用于编程的工具 .这里还有很多其他 git/gitolite 问题。
-
只是为了记录(因为我遇到了同样的错误,但出于不同的原因):确保您实际上没有将完整的密钥文件名放入 gitolite 的配置文件中,因为您需要剥离
.pub扩展名。 (此扩展由 gitolite 自动添加)。所以,keydir/id_rsa-yasin.pub作为授权密钥,在引用时需要在config/gitolite.conf中使用id_rsa-yasin。 -
@Cromax 正确,但是您将无法获得第一个命令中显示的权限。
-
好吧,我做到了——因为这个“测试”存储库带有默认配置(SSH 连接参数、用户、身份文件实际上设置正确)。因此,乍一看,我对其他已配置的存储库没有 R 权限,这让我感到惊讶。 (我以为我一开始没有推送配置……但我做到了)……然后我注意到了这个 *.pub 该死的东西。 ;-)