3

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

一切都在我这边工作正常(我是管理员,也做了gl-easy-install) - 但是,我已经向pub另一个用户请求了一个并将其添加到keydir,以及将他们的权限添加到文件中的gitolite-adminrepo 中conf。我git addcommit那些文件,并将push它们备份到 gitolite 服务器。一切看起来都很好。

我告诉用户尝试git clone git@server.com:gitolite-admin.git,他们得到一个权限错误。命令钩子在 git 用户的authorized_keys文件中,所以我对我缺少的东西有点困惑。

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

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

4

3 回答 3

6

ssh -vvvv git@gitserver.com在你的机器上做一个。您将看到提供了哪些密钥。现在在这个用户的机器上做同样的事情。还请发布您的 gitolite 配置文件,如果有的话,请发布 ~/.ssh/config 文件(如果你们有的话)。用通用的东西替换您的任何敏感回购。

(赞成你的问题)

于 2011-06-15T20:00:41.107 回答
3

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

$ 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就不会使用了。

于 2011-06-15T20:59:19.983 回答
0

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

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

于 2012-10-30T11:31:56.467 回答