我一直在努力让gitolite工作。我使用了包方法,并且能够与服务器的第一个用户进行第一次“git push”。在那之后,如果我添加一个密钥并尝试再次推送一些东西,我会收到一条错误,上面写着“W访问gitolite-admin DENIED to mike” - 请注意,它应该是使用gitolite用户而不是我的用户名。我想这是因为我在.bash_profile中为两个用户添加了私钥。 (我正在使用msysgit)...
有什么想法吗?
非常感谢!
答案 0 :(得分:1)
我想这是因为我正在为两个用户添加私钥
是的,您应该为gitolite
用户使用专用的公钥/私钥,该用户也可以用于ssh访问。
您可以通过查看gitolite日志(~gitolite/.gitolite/logs
)
使用多个密钥是通过config
文件完成的
请参阅示例“users are asked for password while using 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确认in the comments以下配置正在运行:
host gitolite
user gitolite
hostname myhost
port 443
IdentityFile ~/.ssh/gitolite
host edison
user gitolite
hostname myhost
port 443
IdentityFile ~/.ssh/mike
答案 1 :(得分:0)
我有一个类似的问题,我只能推动一个新的gitolite repo,然后我失去了访问权限。 我能够通过在第一次推送时将我的用户名添加到.conf文件来解决这个问题:
%GT; cat conf / gitolite.conf repo gitolite-admin RW + = git-admin myusername