Dépôt GIT sur LAN

14

J'essaie de configurer un référentiel GIT sur LAN dans Ubuntu OS.
Je suis en mesure de configurer un référentiel GIT, mais je ne sais pas COMMENT EXPOSER le référentiel à d'autres utilisateurs du LAN .
Comme il nécessite un serveur, j'ai installé OpenSSH-Server . Mais je ne sais pas COMMENT le configurer.

Veuillez me diriger pour corriger la ressource à lire.
Merci.


la source

Réponses:

17

Tout d'abord, vous devez vérifier votre configuration openssh sur le serveur Ubuntu: voir ce HowTo .

Ensuite, vous pouvez suivre cet article , qui recommande principalement:

$ 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

allez dans votre /etc/ssh/ssh_configfichier et ajoutez git à la liste des utilisateurs autorisés qui peuvent se connecter.
copiez votre id_rsa.pubfichier sur votre serveur quelque part (dans notre exemple que nous utilisons /tmp), puis exécutez cette commande:

 $ 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

À partir de votre ordinateur local, testez-le avec ceci:

 git clone git@YOUR_SERVER:gitosis-admin.git

Configurez la gitose pour un nouveau projet. Utilisez votre éditeur préféré pour créer un nouveau bloc sous celui de la gitose. Ça devrait ressembler à ça:

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

Quelques choses à surveiller dans le bloc ci-dessus.
Tout d'abord, assurez-vous que votre nom correspond à ce qui se trouve dans votre clé publique (c'est-à-dire, ouvrez votre fichier id_rsa.pub et voyez ce que dit le nom.
Deuxièmement, assurez-vous d'épeler correctement en écriture!

Une fois que vous avez terminé, validez et transmettez les modifications au serveur.

$ git commit -a -m "created a new repository!"
$ git push
VonC
la source
Remarque: si vous rencontrez des problèmes avec le eagain.net, vous pouvez utiliser Github.
Kazark
3

Votre meilleure façon de le faire serait d'exécuter un serveur ssh et de limiter l'utilisation de vos utilisateurs git-shellpour leur shell de connexion. Vous pouvez installer un serveur ssh correctement en exécutant l'une des commandes suivantes s'il n'a pas déjà été installé.

sudo apt-get install openssh-server

ou

sudo apt-get install dropbear

Ajoutez /usr/bin/git-shellensuite /etc/shellsen faisant

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

Utilisez ensuite au git-shelllieu de bashcomme shell utilisateur. Cela limitera l'utilisateur à ne pouvoir effectuer que des gitopérations lors de la connexion au serveur au lieu de fournir à l'utilisateur un compte complet.

sybreon
la source