Repositório GIT pela LAN

14

Estou tentando configurar um repositório GIT pela LAN no Ubuntu OS.
Eu sou capaz de configurar um repositório GIT, mas não tenho certeza de como expor o repositório a outros usuários na LAN .
Como requer um servidor, instalei o OpenSSH-Server . Mas não sei como configurá-lo.

Por favor, aponte-me para corrigir o recurso para ler.
Obrigado.


fonte

Respostas:

17

Primeiro de tudo, você precisa verificar a configuração do openssh no servidor Ubuntu: consulte este HowTo .

Então você pode seguir este artigo , que recomenda principalmente:

$ sudo apt-get install python-setuptools
$ mkdir ~/src
$ cd ~/src
$ git clone git://eagain.net/gitosis.git
$ cd gitosis
$ sudo python setup.py install
$ sudo adduser \
  --system \
  --shell /bin/sh \
  --gecos 'git version control' \
  --group
  --disabled-password \
  --home /home/git \
  git

entre no seu /etc/ssh/ssh_configarquivo e adicione git à lista de Usuários Permitidos que podem fazer login.
copie seu id_rsa.pubarquivo para o seu servidor em algum lugar (em nosso exemplo, estamos usando /tmp) e execute este comando:

 $ sudo -H -u git gitosis-init < /tmp/id_rsa.pub
     Initialized empty Git repository in ./
 $ sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

Na sua máquina local, teste-a com o seguinte:

 git clone git@YOUR_SERVER:gitosis-admin.git

Configure gitosis para um novo projeto. Use seu editor favorito para criar um novo bloco sob o de gitosis. Deve ficar assim:

[group myrailsapp]
members = myNameAsInTheRsa.pub
writable = myNewApp

Algumas coisas para observar no bloco acima.
Primeiro, verifique se o seu nome corresponde ao que está na sua chave pública (ou seja, abra o arquivo id_rsa.pub e veja o que o nome diz.
Segundo, verifique se você escreve corretamente a escrita!

Quando terminar, confirme e envie as alterações para o servidor.

$ git commit -a -m "created a new repository!"
$ git push
VonC
fonte
Nota: se você estiver tendo problemas com o eagain.net, poderá usar o Github.
Kazark 29/08/13
3

Sua melhor maneira de fazer isso seria executar um servidor ssh e limitar seus usuários a usar git-shellno shell de logon. Você pode instalar um servidor ssh corretamente executando um dos seguintes comandos, se ainda não estiver instalado.

sudo apt-get install openssh-server

ou

sudo apt-get install dropbear

Em seguida, adicione /usr/bin/git-shella /etc/shells, fazendo

sudo echo $(which git-shell) >> /etc/shells

Em seguida, use o em git-shellvez de bashcomo seu shell de usuário. Isso restringirá o usuário a apenas poder executar gitoperações ao efetuar login no servidor, em vez de fornecer ao usuário uma descrição completa ..

sybreon
fonte