Ser capaz de acessar gitolite@server:~/repositories/gitolite-admin.git , mas não gitolite@server:gitolite-admin indica que você não está "usando" o Gitolite, mas apenas usando acesso simples baseado em SSH ao usuário do gitolite.
Se ssh gitolite@server echo normal access rende normal access , a chave que você está usando não está restrita a passar por Gitolite. Se você estivesse passando por Gitolite, veria algo como bad command: echo normal access .
Isso pode acontecer se você tiver uma chave que você usa para o SSH no próprio usuário gitolite e tentar usar a mesma chave para autenticar como um usuário Gitolite. Uma chave de "acesso normal" estará presente no .ssh/authorized_keys do gitolite sem nenhum prefixo especial. A linha para uma chave configurada para passar pelo Gitolite será iniciada como command="/path/to/gl-auth-command gitolite-username",… .
Se você precisar de acesso normal baseado em SSH para o usuário gitolite e acesso baseado em Gitolite, deverá configurar chaves separadas para esses propósitos, para que você possa especificar qual chave você deseja usar com IdentityFile opções em seu .ssh/config file (talvez também IdentitiesOnly se você achar que o ssh está usando a tecla "errado" só porque você já carregou em seu ssh-agent ).
Por exemplo:
Use uma de suas chaves "padrão" (um dos padrões de ssh (por exemplo, ~/.ssh/id_rsa ) ou alguma chave que você normalmente carregou em seu ssh-agent ) para acessar o Gitolite (ou seja, você tem a chave pública no ativo keydir/your-gitolite-user-name.pub ).
Gere ~/.ssh/gitolite-user para usar diretamente no usuário do gitolite. Use ssh -i ~/.ssh/gitolite-user gitolite@server para efetuar login. Ou adicione uma entrada personalizada a ~/.ssh/config :
Host gitolite-user
User gitolite
HostName server
IdentityFile ~/.ssh/gitolite-user
IdentitiesOnly yes
para que você possa fazer apenas ssh gitolite-user no login.