You do not have to let Gitolite manage the keys if you have a different method of managing them that you prefer. For example, you may be using an LDAP-backed ssh daemon, which manages users' keys centrally for several enterprise applications and systems, and therefore you wish to take advantage of that for Gitolite user management.
Gitolite will work fine with any method as long as you ensure that these points are covered:
The
SSH_ORIGINAL_COMMAND
environment variable should contain the original Git command that the client sent out. Typically, this will be something likegit-upload-pack 'repo.git'
(including the single quotes) or, for pushes,git-receive-pack 'repo.git
'.This variable is automatically set by the ssh daemon when the ssh configuration specifies a forced command of some kind (please see the ssh documentation for details on how to force commands).
The command that is thus forced to run should be the full path to the gitolite-shell program, wherever...