проблема с клонированием gitolite-admin

Я схожу с ума от проблемы с клонированием репозитория gitolite-admin. Я следовал этому http://sitaramc.github.com/gitolite/install.html#migr и все прошло отлично.

Я пробежал ssh-keygen -t rsa и scp ~/.ssh/id_rsa.pub morten@ubuntu-server:/tmp/morten.pub

author_keys на сервере выглядит так:

# gitolite start
command="/home/morten/gitolite/src/gitolite-shell morten",no-port-forwarding,no-X11-forwarding,no-agent-forward$
# gitolite end

Какой AFAIK в порядке.

Когда я запускаю git clone morten@ubuntu-server:gitolite-admin на своем клиенте, я получаю

fatal: 'gitolite-admin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

Я понятия не имею, что я пропустил!


person Morten Hagh    schedule 24.05.2012    source источник


Ответы (1)


Использование morten учетной записи совершенно нормально.

Однако ваша установка странная, учитывая ваш текущий ~morten/.ssh/authorized_keys контент:

Вместо /home/morten/gitolite/src/gitolite-shell morten| у вас должно быть /home/morten/gitolite/bin/gitolite-shell morten

Это означает: gitolite-shell должен быть в вашем $PATH, и он должен быть в каталоге bin, созданном после выполнения:

"${github}/install" -to "${gtl}/bin"

(См. вариант 3 раздела «фактическая установка» раздела «Установка Gitolite< /а>")

с участием:

  • github путь, по которому вы клонировали https://github.com/sitaramc/gitolite
  • gtl путь, куда вы хотите установить gitolite (в вашем случае, например, /home/morten/gitolite)

Затем проще сохранить файлы authorized_keys и .gitolite.rc и заново выполнить процесс инициализации:

gitolite setup -pk "${HOME}/.ssh/gitoliteadm.pub"

(при условии, что вы создали свой открытый и закрытый ключ, назвав его «gitoliteadm», с помощью простого:

ssh-keygen -t rsa -f "${H}/.ssh/morten" -C "Gitolite Admin access (not interactive)" -q -P ""

)

Обратите внимание, что я намеренно оставил имя учетной записи ssh (morten) отличным от учетной записи сервера gitolite (gitoliteadm).

Вы по-прежнему будете клонировать с помощью git clone morten@ubuntu-server:gitolite-admin (поскольку все файлы ssh находятся в ~morten/.ssh), но вы будете делать это с закрытым/открытым ключом gitoliteadm, побуждая gitolite получить доступ к своему репозиторию с «учетной записью» gitolite с именем «gitoliteadm».

Таким образом, если вы измените физическую учетную запись пользователя для своего сервера gitolite, «логическая» учетная запись «gitoliteadm» (со ссылкой на роль, а не на человека или ресурс).

person VonC    schedule 24.05.2012
comment
Большое спасибо! Выполнил следующие шаги, и, похоже, теперь он работает :) Чтобы начать с нуля, я полностью переустановил сервер ubuntu (в любом случае это была почти новая установка) и изменил имя пользователя на ubuntu, чтобы избежать путаницы - и теперь, когда я сделать: git clone ubuntu@ubuntu-server:gitolite-admin он делает клон для моего клиента - так что это говорит мне, что он работает как надо! Спасибо еще раз! - person Morten Hagh; 25.05.2012
comment
У меня есть еще один вопрос, с которым, надеюсь, вы поможете: когда я делаю: git push -u origin master, я получаю: FATAL: W any ubuntu/crm gitoliteadm DENIED by fallthru - person Morten Hagh; 25.05.2012
comment
@MortenHagh, какой у тебя пульт? (git remote -v в вашем локальном репозитории) - person VonC; 25.05.2012
comment
git remote -v дайте мне: crm ubuntu@ubuntu-server:crm (выборка) / crm ubuntu@ubuntu-server:crm (push) - person Morten Hagh; 25.05.2012
comment
@MortenHagh, значит, у тебя нет пульта с именем «origin»? - person VonC; 25.05.2012
comment
@Morten звучит хорошо, но тогда ты должен git push -u crm master тогда. - person VonC; 25.05.2012
comment
Я думаю, что у меня все получилось :) Теперь я могу нажать с помощью git origin master (начал сначала), и он отлично работает! :) Извините, что так много спрашиваю, но я в процессе обучения! :) Спасибо еще раз! - person Morten Hagh; 25.05.2012
comment
Я получаю ту же проблему с инструкциями по установке gitolite, которые следуют на git- scm.com/book/en/Git-on-the-Server-Gitolite есть идеи, почему запуск gitolite/install -ln приведет к тому, что /src/gitolite-shell появится в author_keys? - person coderatchet; 15.05.2014
comment
@thenaglecode не уверен: я всегда устанавливаю gitolite с "${github}/install" -to "${gtl}/bin", никогда не используя ln. - person VonC; 15.05.2014