5

我一直在努力让 gitolite 工作。我使用了包方法,并且能够与第一个用户对服务器进行第一次“git push”。之后,如果我添加一个键并尝试再次推送某些内容,我会收到一条错误消息,提示“gitolite-admin 的 W 访问权限拒绝迈克” - 请注意,它应该使用 gitolite 用户 - 而不是我的用户名。我想这是因为我在我的 .bash_profile 中为两个用户添加了私钥。(我正在使用 msysgit)...

有任何想法吗?

非常感谢!

4

2 回答 2

1

我想这是因为我正在为两个用户添加私钥

确实,您应该为用户使用专用的公钥/私钥,该密钥gitolite也用于 ssh 访问。
您可以通过查看 gitolite 日志来确认(在~gitolite/.gitolite/logs

使用多个密钥是通过一个config文件完成的。
参见示例“用户在使用 gitolite 时被要求输入密码”。
%HOME%/.ssh/config文件可能包含以下内容:

HostName gitoliteserver 
    User gitolite
    IdentityFile ~/.ssh/gitolite

Host mikegitolite
    HostName gitoliteserver 
    User mike 
    IdentityFile ~/.ssh/id_rsa

不要忘记定义HOME您是否在 Windows 上:默认情况下未定义)


OP Mike Gagnon评论中确认以下配置正在运行:

host gitolite 
user gitolite 
hostname myhost 
port 443 
IdentityFile ~/.ssh/gitolite

host edison 
user gitolite 
hostname myhost 
port 443 
IdentityFile ~/.ssh/mike
于 2012-10-21T14:00:08.760 回答
0

我遇到了类似的问题,因为我只能推送到一个新的 gitolite 存储库,然后我就失去了访问权限。我可以通过在第一次推送时将我的用户名添加到 .conf 文件来解决此问题:

%> cat conf/gitolite.conf repo gitolite-admin RW+ = git-admin myusername

于 2013-12-16T18:20:28.523 回答