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_config
fichier et ajoutez git à la liste des utilisateurs autorisés qui peuvent se connecter.
copiez votre id_rsa.pub
fichier 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
eagain.net
, vous pouvez utiliser Github.Votre meilleure façon de le faire serait d'exécuter un serveur ssh et de limiter l'utilisation de vos utilisateurs
git-shell
pour 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é.ou
Ajoutez
/usr/bin/git-shell
ensuite/etc/shells
en faisantUtilisez ensuite au
git-shell
lieu debash
comme shell utilisateur. Cela limitera l'utilisateur à ne pouvoir effectuer que desgit
opérations lors de la connexion au serveur au lieu de fournir à l'utilisateur un compte complet.la source