%20p%C3%BAblica(s)%3F.png)
Todos os nossos desenvolvedores executam estações de trabalho Windows. Executamos um servidor de desenvolvimento Linux. Eu queria tentar executar nosso próprio servidor git no servidor de desenvolvimento.
Depois de alguma pesquisa, decidi tentar instalargitolita. Muitos tutoriais de como instalar são muito parecidos, tenho acompanhadoEste.
Uma etapa que não faz muito sentido para mim é que você deseja gerar uma chave pública na máquina cliente e depois carregá-la no servidor e usá-la assim:
$ gl-setup YourName.pub
Não entendo para que serve esta etapa... Haverá cerca de uma dúzia de máquinas clientes às quais desejo me conectar e usar os repositórios git... qual máquina é "a máquina cliente"? Preciso executar esta etapa mais de uma vez, uma para cada máquina cliente? O que acontece quando preciso adicionar uma nova máquina cliente posteriormente? Por que esta etapa é necessária?
Presumo que as chaves sejam para que as máquinas clientes possam se autenticar no servidor sem a necessidade de inserir um login/senha. Não posso simplesmente configurar um sistema de login/senha que as estações de trabalho clientes usariam para acessar os repositórios git? Posso simplesmente integrar nossos logins LDAP? As chaves públicas são necessárias?
Além disso, estamos executando estações de trabalho Windows, não Linux, portanto, gerar chaves públicas não é tão simples quanto apenas instalar o openssl e fazê-lo.
Parece que instalar algo assim deveria ser mais simples ...
Responder1
Você precisa gerar/adicionar a chave para cada combinação de máquina usuário/cliente que usará o gitolite. As chaves são copiadas para o diretório gitolite-admin/keydir (eu uso uma convenção de nomenclatura $USERNAME-$HOSTNAME-id_rsa.pub - não tenho certeza se isso é necessário, mas funciona para mim). Depois de adicionar as chaves ao diretório keydir, você precisará atualizar o arquivo gitolite-admin/conf/gitolite.conf para configurar os projetos/acesso de usuário apropriados (usando $USERNAME-$HOSTNAME-id_rsa como convenção de nomenclatura).
Feito isso, você pode fazer git add conf keydir
, commit -m "blah blah blah"
, e git push origin master
dançar e, se tudo correr bem, os usuários apropriados deverão ser capazes de acessar os repositórios git apropriados em seu servidor.
Editar:Não me lembro qual configuração do cliente git os usuários do Windows estão usando, mas ele tem todas as peças para gerar suas chaves (elas não estão disponíveis, então não posso perguntar). Levei algumas tentativas para descobrir e funcionar, mas parece funcionar bem depois de configurado.
Responder2
Gitolite usa apenas um usuário, geralmente gitolite
no servidor para autenticação. É por isso que você adiciona as chaves públicas de outros usuários ao keydir
diretório gitolite para adicionar usuários. Nos documentos oficiais você pode ver isso gitolite is (usually) heavily dependent on ssh
.http://sitaramc.github.com/gitolite/gl_ssh.html.