Search code examples
linuxgitubuntugitolite

Gitolite access repair


I have set up gitolite on my linux server and added my laptop to the gitolite-admin repository. I was forced to format my laptop (bad hard drive) so I need to figure out a way to regain access to my other repositories gitolite controls. It's worth mentioning, I have root access on my linux server, if that helps. I am not very proficient with SSH/public keys, etc, so if someone can help, I would greatly appreciate it.


Solution

  • If you have version 2.0.3 or later installed, you can use the gl-admin-push command to push from a local clone of the admin repository:

    See gl-admin-push: bypassing gitolite for the gitolite-admin repo :

    • su to your Gitolite user
    • cd /tmp && git clone ~/repositories/gitolite-admin.git
    • replace your old public key in keydir/ with your new one, then commit
    • ~/.gitolite/src/gl-admin-push to push it; this will update the user’s .ssh/authorized_keys to integrate your new key

    If you are using something earlier than 2.0.3, you can use the gl-dont-panic command to replace a key:

    • su to your Gitolite user
    • copy your new public key to /tmp/username.pub
      username.pub should be the same as a filename that is currently in your keydir/; you can list the contents of the existing keydir/ with

      GIT_DIR="$HOME"/repositories/gitolite-admin.git git ls-tree master:keydir
      
    • run cd /tmp && ~/.gitolite/src/gl-dont-panic username.pub to install the replacement key