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_config
archivo y agregue git a la lista de Usuarios permitidos que pueden iniciar sesión.
copie su id_rsa.pub
archivo 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
eagain.net
, puede usar Github.Su mejor manera de hacerlo sería ejecutar un servidor ssh y limitar el uso
git-shell
de 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.o
A continuación, añadir
/usr/bin/git-shell
a/etc/shells
haciendoLuego use el en
git-shell
lugar debash
como su shell de usuario. Esto restringirá al usuario a que solo pueda realizargit
operaciones cuando inicie sesión en el servidor en lugar de proporcionarle al usuario una contraseña completa.fuente