Gitolite - How to create users?

15,620

Solution 1

Yes thats the problem... me too faced the same.. i created the public key using puttygen ssh2-rsa format gitolite does not accept this. You need to convert to openssh

ssh-keygen -i -f yourname.pub > yourname_openssh.pub

Now use this converted public key

Solution 2

There is no 'keydata' folder, only 'keydir' and 'conf' (as mentioned in the documentation).

If you have cloned locally the gitolite-admin repo (git clone gitolite@server:gitolite-admin), you need to:

  • add your new public key named after the user in the keydir repo: username.pub
  • add that same username in one of the user groups in conf/gitolite.conf
  • push back the new modifications to the gitolite server (there is a special hook on the gitolite-admin repo which will add the new public key to the ~/.ssh/authorized_keys file).

Solution 3

I solved msysgit problem.

  1. I reinsall msysgit and use OPENSSH instead of PUTTY (it is recommended in install manual of gitolite - but I had msysgit installed before)
  2. when generating ssh-key, it must have default name id_rsa otherwise it did not work for me

Because I always had custom name for key, I can not say if step 1 is neccessary and I won't try it again:) Now I can clone/commit/push - finally.

Special thanx to VonC for his patience

Share:
15,620
Zap
Author by

Zap

Updated on August 30, 2022

Comments

  • Zap
    Zap over 1 year

    I tried to install git + gitolite following this manual - using root instalation from server. I just do not understand if new gitolite users have to have their user accounts?. When I add tester.pub key into keydir folder and configure access to some repository, git always ask for a password and do not allow me to clone anything

    git clone [email protected]:testrepo
    Initialized empty Git repository in /home/testuser/git/testrepo/.git/
    [email protected]'s password:
    Permission denied (publickey,password).
    fatal: The remote end hung up unexpectedly
    

    I don't believe that create system account (adduser testuser) is neccessarry because gitolite should be installable and configurable even without root access onto server.

    So could anybody please show me what I have misunderstood?

    Thank you very much.


    EDIT:

    Well... I reinstall gitolite using client instalation transcript. Now adding and pushing new pub keys successfully changes ~/.ssh/authorized_keys for my git user on server. So it seems better than my first try. But I still can not clone any repozitory from another place. When I try to add pub key + edit config for my windows PC with msysgit, then try

    $ git clone [email protected]:project.git
    cloning into project...
    Fatal ERROR: unable to authenticate
    Fatal: the remote end hung up unexpectedly
    

    On other hand when try another linux, it still request for password.

    # git clone [email protected]:project.git
    Cloning into project...
    [email protected]'s password: 
    

    Even when I provide password for git user:

    fatal: 'project.git' does not appear to be a git repository
    fatal: The remote end hung up unexpectedly
    

    This was probably caused by broaken system account.

    Now I really dont know what to do - should I create somehow .ssh/config on each client to make it work?

    Now I am starting to be little bit annoyed and upset and I will probably remove all and try mercurial:-D Except someone could help me:) Thank you.