gitolite para permitir que os usuários já estejam presentes no arquivo authorized_keys

2

Estou usando o gitolite para restringir a permissão em um repositório e ele funcionou bem até o momento em que tentei clonar e empurrar com um usuário cuja chave pública já foi adicionada em authorised_keys, não via gitolite. Eu acho que o problema é que estou usando a chave que tem o acesso ao servidor. Quando tento clonar server: reponame, recebo um erro dizendo que o repositório não existe e quando clona de repositories / reponame e tento empurrar, recebo os seguintes erros:

Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 370 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Empty compile time value given to use lib at hooks/update line 6
remote: Use of uninitialized value in require at hooks/update line 7.
remote: Can't locate Gitolite/Hooks/Update.pm in @INC (@INC contains:  /Library/Perl/Updates/5.10.0 /System/Library/Perl/5.10.0/darwin-thread-multi-2level /System/Library/Perl/5.10.0 /Library/Perl/5.10.0/darwin-thread-multi-2level /Library/Perl/5.10.0 /Network/Library/Perl/5.10.0/darwin-thread-multi-2level /Network/Library/Perl/5.10.0 /Network/Library/Perl /System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level /System/Library/Perl/Extras/5.10.0 .) at hooks/update line 7.
remote: BEGIN failed--compilation aborted at hooks/update line 7.
remote: error: hook declined to update refs/heads/master

Existe uma maneira de dar aos usuários que já têm acesso ao servidor permissão para os repositórios gitolite? Eu sei que eu poderia usar outra chave para o usuário e adicionar isso ao keydir gitolite, mas seria muito mais natural para esses usuários terem acesso a repositórios gitolite também.

    
por rhee 14.10.2015 / 18:52

1 resposta

-2

tl; versão dr: use um arquivo de chaves separado para o gitolito.

é melhor tarde do que nunca.

Basta adicionar o arquivo de chave já existente ao gitolite / keys dir, git add, git commit, git push. gitolite irá gerar uma mensagem como

remote: WARNING: keydir/keyfile_which_was_added.pub duplicates a non-gitolite key, sshd will ignore it

e o /home/git/.ssh/authorized_keys detém duas vezes a chave, uma vez que a já existente e outra na

# gitolite start 

e

# gitolite end
seção

.

Eu tentei mover a chave existente (antiga) após a seção # gitolite , mas meu login ssh exibe apenas a mensagem gitolite e sai.

A solução

será usando uma chave pública separada para a gilolite .

    
por 06.01.2017 / 11:27