GIT хранилище по локальной сети

14

Я пытаюсь настроить GIT-репозиторий по локальной сети в ОС Ubuntu .
Я могу настроить GIT-репозиторий, но не уверен, КАК выставить репозиторий другим пользователям в локальной сети .
Поскольку для этого требуется сервер, я установил OpenSSH-Server . Но не знаю, КАК его настроить.

Пожалуйста, укажите мне, чтобы исправить ресурс для чтения.
Благодарю.


источник

Ответы:

17

Прежде всего, вам нужно проверить настройки openssh на сервере Ubuntu: см. Этот HowTo .

Тогда вы можете следовать этой статье , которая в основном рекомендует:

$ 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

зайдите в свой /etc/ssh/ssh_configфайл и добавьте git в список разрешенных пользователей, которые могут войти.
скопируйте свой id_rsa.pubфайл куда-нибудь на свой сервер (в нашем примере мы используем /tmp) и затем запустите эту команду:

 $ 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

Проверьте это с вашей локальной машины:

 git clone git@YOUR_SERVER:gitosis-admin.git

Настройте Gitosis для нового проекта. Используйте ваш любимый редактор, чтобы создать новый блок под Gitosis. Это должно выглядеть так:

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

Несколько вещей, чтобы следить за вышеупомянутым блоком.
Во-первых, убедитесь, что ваше имя соответствует тому, что находится в вашем открытом ключе (то есть откройте ваш файл id_rsa.pub и посмотрите, что написано в имени.
Во-вторых, убедитесь, что вы пишете правильно для записи!

Как только вы закончите, зафиксируйте и отправьте изменения на сервер.

$ git commit -a -m "created a new repository!"
$ git push
VonC
источник
Примечание: если у вас возникли проблемы с eagain.net, вы можете использовать Github.
Казарк
3

Ваш лучший способ сделать это - запустить ssh-сервер и ограничить использование пользователями git-shellсвоей оболочки входа в систему. Вы можете правильно установить сервер ssh, выполнив одну из следующих команд, если она еще не установлена.

sudo apt-get install openssh-server

или

sudo apt-get install dropbear

Затем добавьте /usr/bin/git-shellк /etc/shellsдействию

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

Затем используйте git-shellвместо вместо bashсвоей пользовательской оболочки. Это ограничит пользователя только возможностью выполнять gitоперации при входе на сервер, а не предоставлять пользователю полную информацию.

sybreon
источник