Все наши разработчики используют рабочие станции Windows. Мы запускаем сервер разработки Linux. Я давно хотел попробовать запустить наш собственный git-сервер на dev-сервере.
После некоторого исследования я решил попробовать установить гитолит. Многие руководства по его установке очень похожи, я следил вот этот.
Один шаг, который для меня не имеет большого смысла, заключается в том, что он хочет, чтобы вы сгенерировали открытый ключ на клиентской машине, а затем загрузили его на сервер и использовали его следующим образом:
$ gl-setup YourName.pub
Я не понимаю, для чего предназначен этот шаг ... Будет около дюжины клиентских машин, к которым я хочу подключиться и использовать репозитории git ... какая машина является «клиентской»? Нужно ли мне делать этот шаг более одного раза, по одному для каждой клиентской машины? Что произойдет, если мне понадобится добавить новый клиентский компьютер позже? Зачем нужен этот шаг?
Я предполагаю, что ключи таковы, что клиентские машины могут аутентифицироваться с сервером без необходимости вводить логин / пароль? Разве я не могу просто настроить систему входа / пароля, которую клиентские рабочие станции будут использовать для доступа к репозиториям git? Могу я просто интегрировать наши логины LDAP? Нужны ли открытые ключи?
Кроме того, мы работаем на рабочих станциях Windows, а не Linux, поэтому создание открытых ключей не так просто, как просто установить openssl и сделать это.
Похоже, что установка чего-то подобного должна быть более простой ...
Вам необходимо сгенерировать / добавить ключ для каждой комбинации пользователь / клиентская машина, которая будет использовать gitolite. Ключи копируются в ваш каталог gitolite-admin / keydir (я использую соглашение об именах $ USERNAME- $ HOSTNAME-id_rsa.pub - не уверен, требуется ли это, но у меня это работает). После того, как вы добавили ключи в каталог keydir, вам необходимо обновить файл gitolite-admin / conf / gitolite.conf, чтобы настроить соответствующие проекты / доступ пользователей (используя $ USERNAME- $ HOSTNAME-id_rsa в качестве соглашения об именах).
Как только это будет сделано, вы можете git add conf keydir
, commit -m "blah blah blah"
, и git push origin master
танцевать, и, если все пойдет хорошо, соответствующие пользователи должны иметь доступ к соответствующим репозиториям git на вашем сервере.
Редактировать: Я не помню, какие настройки клиента git используют пользователи Windows, но в нем есть все необходимое для генерации ключей (они недоступны, поэтому я не могу их спросить). Мне потребовалось несколько попыток, чтобы понять и заработать, но, похоже, он работает хорошо после настройки.
Gitolite использует только одного пользователя, обычно gitolite
на сервере для аутентификации. Вот почему вы добавляете открытые ключи других пользователей в гитолит. keydir
каталог для добавления пользователей. В официальных документах вы можете увидеть, что gitolite is (usually) heavily dependent on ssh
. http://sitaramc.github.com/gitolite/gl_ssh.html.