2

I'm using gitolite to restrict the permission on a repository and it has worked well so far until I tried to clone and push with a user whose public key is already added in authorised_keys, not via gitolite. I think the problem is that I'm using the key which has the access to the server. When I try to clone server:reponame, I get an error saying that the repository doesn't exist and when I clone from repositories/reponame and try to push, I get the following errors:

Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 370 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Empty compile time value given to use lib at hooks/update line 6
remote: Use of uninitialized value in require at hooks/update line 7.
remote: Can't locate Gitolite/Hooks/Update.pm in @INC (@INC contains:  /Library/Perl/Updates/5.10.0 /System/Library/Perl/5.10.0/darwin-thread-multi-2level /System/Library/Perl/5.10.0 /Library/Perl/5.10.0/darwin-thread-multi-2level /Library/Perl/5.10.0 /Network/Library/Perl/5.10.0/darwin-thread-multi-2level /Network/Library/Perl/5.10.0 /Network/Library/Perl /System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level /System/Library/Perl/Extras/5.10.0 .) at hooks/update line 7.
remote: BEGIN failed--compilation aborted at hooks/update line 7.
remote: error: hook declined to update refs/heads/master

Is there a way to give the users who already has the access to the server to have permission for the gitolite repositories? I know that I could use another key for the user and add that to the gitolite keydir, but it would be much more natural for these users to have access to gitolite repositories too.

rhee
  • 41
  • 2

1 Answers1

-2

tl;dr version: use separate keyfile for gitolite.

better late than never.

just add the already existing key file to gitolite/keys dir, git add, git commit, git push. gitolite will generate a message like

remote: WARNING: keydir/keyfile_which_was_added.pub duplicates a non-gitolite key, sshd will ignore it

and the /home/git/.ssh/authorized_keys holds two times the key, once the already existing and another one in the

# gitolite start 

and

# gitolite end

section.

i tried to moving the existing (old) key after the # gitolite section, but then my ssh login only displays gitolite message and quits.

solution will be using a separate public key for gilolite.