Repositorio GIT sobre LAN

14

Estoy tratando de configurar un repositorio GIT a través de LAN en Ubuntu OS.
Puedo configurar un repositorio GIT, pero no estoy seguro de CÓMO exponer el repositorio a otros usuarios en LAN .
Como requiere un servidor, instalé OpenSSH-Server . Pero no sé CÓMO configurarlo.

Indíqueme que corrija el recurso para leer.
Gracias.


fuente

Respuestas:

17

En primer lugar, debe verificar la configuración de openssh en el servidor Ubuntu: consulte este Cómo .

Luego puede seguir este artículo , que principalmente recomienda:

$ 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

ingrese a su /etc/ssh/ssh_configarchivo y agregue git a la lista de Usuarios permitidos que pueden iniciar sesión.
copie su id_rsa.pubarchivo a su servidor en algún lugar (en nuestro ejemplo estamos usando /tmp) y luego ejecute 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

Desde su máquina local, pruébelo con esto:

 git clone git@YOUR_SERVER:gitosis-admin.git

Configure la gitosis para un nuevo proyecto. Use su editor favorito para crear un nuevo bloque debajo del de gitosis. Debe tener un aspecto como este:

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

Un par de cosas a tener en cuenta en el bloque de arriba.
Primero, asegúrese de que su nombre coincida con lo que está en su clave pública (es decir, abra su archivo id_rsa.pub y vea lo que dice el nombre. En
segundo lugar, asegúrese de escribir correctamente.

Una vez que haya terminado, confirme y envíe los cambios al servidor.

$ git commit -a -m "created a new repository!"
$ git push
VonC
fuente
Nota: si tiene problemas con el eagain.net, puede usar Github.
Kazark
3

Su mejor manera de hacerlo sería ejecutar un servidor ssh y limitar el uso git-shellde sus usuarios para su shell de inicio de sesión. Puede instalar un servidor ssh correctamente ejecutando uno de los siguientes comandos si aún no se ha instalado.

sudo apt-get install openssh-server

o

sudo apt-get install dropbear

A continuación, añadir /usr/bin/git-shella /etc/shellshaciendo

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

Luego use el en git-shelllugar de bashcomo su shell de usuario. Esto restringirá al usuario a que solo pueda realizar gitoperaciones cuando inicie sesión en el servidor en lugar de proporcionarle al usuario una contraseña completa.

sybreon
fuente