gitolite用户无法连接

时间:2011-06-15 18:54:03

标签: git version-control gitolite

我遇到了其他用户能够连接到我的gitolite服务器的问题。

我的一切工作正常(我是管理员,也是gl-easy-install) - 但是,我已经请求来自其他用户的pub并将其添加到{{1 },以及将他们的权限添加到keydir文件中的gitolite-admin repo。我confgit add这些文件,commit他们备份到gitolite服务器。一切都很好看。

我告诉用户尝试push并且他们收到了权限错误。命令挂钩位于git用户的git clone git@server.com:gitolite-admin.git文件中,所以我对我所缺少的内容感到困惑。

我在其他一些答案中看到正确使用的地址是authorized_keys,但基于user@server.com:gitolite-admin.git文件,这似乎完全不正确。

非常感谢帮助,感谢您的专业知识!

3 个答案:

答案 0 :(得分:6)

在您的计算机上执行ssh -vvvv git@gitserver.com。您将看到提供的密钥。现在在这个用户的机器上做同样的事情。另外请发布你的配置文件gitolite,如果你有它们,你可以使用〜/ .ssh / config文件。用通用的东西替换你的任何敏感仓库。

(赞成你的问题)

答案 1 :(得分:3)

通常这些问题与.ssh目录中连接用户文件的权限有关。确保他们的id文件只能由他们自己读取(400)。此外,请确保除root和用户之外的任何人都无法写入.ssh目录和所有父目录。例如,他们的目录应具有如下权限:

$ ls -ld . home home/prentice home/prentice/.ssh/
drwxr-xr-x 22 root     root     4096 2011-04-28 09:47 .
drwxr-xr-x  4 root     root     4096 2010-11-17 22:19 home
drwxr-xr-x 75 prentice prentice 4096 2011-06-15 13:56 home/prentice
drwx------  2 prentice prentice 4096 2011-04-20 08:07 home/prentice/.ssh/

否则,ssh将拒绝其身份,因为其他人可以阅读或修改它。您的authorized_keys文件也是如此。如果它可以被其他人修改(直接或通过修改它上面的目录),ssh将不会使用它。

答案 2 :(得分:0)

确保尝试访问存储库的用户尝试从同一用户帐户及其相应的rsa密钥进行访问..,

例如:如果您已将root用户公钥添加到gitolite-admin并且用户正在尝试从他的sudo用户帐户访问它,那么它就会工作..,