Ce document s'adresse à un adminsys qui :

  • aurait perdu ses accès Gitolite ;
  • aurait encore accès via ssh à bulbe ;
  • n'a pas d'autre adminsys sous la main pour déployer sa nouvelle clef SSH.

La manipulation elle-même est relativement simple, documentée, et évite de manipuler directement les fichiers de Gitolite :

  1. Copier la nouvelle clef (publique) pour Gitolite dans un fichier lisible par tous (elle peut déjà être dans ~/.ssh/authorized_keys, par exemple)

  2. Se connecter à bulbe, passer sous l'user git :

    ssh bulbe
    sudo -u git -s
    
  3. Faire un clone de gitolite-admin, y commettre la modification :

    cd /tmp
    git clone /srv/git/repositories/gitolite-admin.git
    cd gitolite-admin
    cat /path/to/key.pub > keydir/toto.pub
    git commit keydir/toto.pub -m 'Changement de la clef de toto'
    
  4. Relire la modification :

    git show origin/master.. # foo.. signifie implicitement foo..HEAD pour git
    
  5. Mettre en place l'environnement pour Gitolite et pousser la modification

    export HOME=/srv/git                 # Gitolite utilise ${HOME}/.gitolite
    export GL_RC=/srv/git/.gitolite.rc   # Idem
    export GL_BINDIR=/usr/share/gitolite # Le dossier des scripts Gitolite
    ${GL_BINDIR}/gl-admin-push
    
  6. Supprimer le clone temporaire de gitolite-admin :

    cd
    rm -rf /tmp/gitolite-admin