Я пытаюсь настроить Репозиторий GIT по локальной сети в Ubuntu ОПЕРАЦИОННЫЕ СИСТЕМЫ.
Я могу настроить репозиторий GIT, но не уверен КАК открыть репозиторий другим пользователям в локальной сети.
Поскольку для этого требуется сервер, я установил OpenSSH-сервер. Но не знаю КАК настроить его.
Пожалуйста, укажите мне правильный ресурс, с которого нужно читать.
Спасибо.
Прежде всего, вам нужно проверить настройку 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
file и добавьте 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. Должно получиться так:
[group myrailsapp]
members = myNameAsInTheRsa.pub
writable = myNewApp
Несколько вещей, на которые следует обратить внимание в блоке выше.
Во-первых, убедитесь, что ваше имя совпадает с тем, что указано в вашем открытом ключе (то есть откройте файл id_rsa.pub и посмотрите, что написано в имени.
Во-вторых, убедитесь, что вы правильно пишете!
Как только вы закончите, зафиксируйте и отправьте изменения на сервер.
$ git commit -a -m "created a new repository!"
$ git push
Лучший способ сделать это - запустить 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
операций при входе на сервер вместо предоставления пользователю полной ..