Не могу добавить пользователя с Gitolite - PullRequest
3 голосов
/ 09 марта 2012

Я новичок с гитолитом. Я установил Gitolite на удаленном сервере.

http://dev.remoteserver.com

Чтобы я мог клонировать мерзавца gitolite-admin.git.

git clone ssh://gitolite@dev.remoteserver.com/gitolite-admin.git

Я хотел добавить пользователя и репо с помощью gitolite. Ниже приведен обычный процесс добавления пользователя.


В локальном хранилище Каталог conf / keydir существует.

open conf/gitolite.conf 

добавлено ниже текста.

repo   aproject
       RW+ = testid

и, в local-mac,

ssh-keygen -t rsa. 

добавил открытый ключ в keydir / testid.pub
а затем, git add / git commit / git push выполняется хорошо.


хорошо, тогда я попытался клонировать свежее git-репо с удаленного сервера.

git clone ssh://testid@dev.remoteserver.com/aproject.git

но это делает ошибку вот так ...

mac$ git clone ssh://testid@dev.remoteserver.com/aproject.git
Cloning into 'aproject'...
mac@dev.remoteserver.com's password: 
Permission denied, please try again.
mac@dev.remoteserver.com's password: 
Permission denied, please try again.
mac@dev.remoteserver.com's password: 
Permission denied (publickey,gssapi-with-mic,password).
fatal: The remote end hung up unexpectedly

Я думаю, что git cloneing не должен спрашивать пароль. и правильный пароль также не удался git-cloning.

Мой удаленный сервер - CentOS.

и комментарии приветствуются.

Ответы [ 2 ]

6 голосов
/ 09 марта 2012

При gitolite все ваши ssh-соединения выполняются с учетной записью, используемой для установки gitolite.
В вашем случае: gitolite.

Однако вы можете указать другой открытый ключ, чтобы указать gitolite для аутентификации вас против другого пользователя.
Сеанс ssh будет по-прежнему выполняться как gitolite.
Но имя, переданное сценарию gitolite, будетtestid (потому что открытый ключ был зарегистрирован gitolite в его ~/.ssh/authorized_keys как 'testid')

Так что используйте файл ~testid/.ssh/config, в котором вы упомянули правильный параметр:

Host gitolitesrv
Hostname dev.remoteserver.com
User gitolite
IdentityFile /path/to/tesitd

Обратите внимание, что /path/to/ должен содержать ваш закрытый ключ testid и ваш открытый ключ testid.pub.
На данный момент их имя не имеет значения (может быть xxx и xxx.pub)
Что было важным было имя открытого ключа, хранящееся в gitolite-admin/keydir/testid.pub (поскольку имя файла используется для идентификатора, записанного в принудительной команде authorized_keys строка)

И тогда этот git clone должен работать:

git clone gitolitesrv:aproject.git

OP JinbomHeo упоминает о трудностях:

Клонирование в 'aproject' ... R доступ для aproject DENIED to gitolite
(Или на данном пути не может быть хранилища.Правильно ли вы написали?) Смертельно: удаленный конец неожиданно повесил трубку*

И файл gitolite.conf включает в себя следующее (нажатие git):

repo aproject RW + = testid

Наконец-то я нашел причину.
При генерации ssh-ключа с помощью ssh-keygen я набрал пароль .Вот в чем проблема.
Итак, я попробовал keygen без пароля, и он работает ~.Я не знаю, почему пароль не должен быть добавлен, когда я делаю ключ.В любом случае, это работает хорошо


Я могу подтвердить, что всегда использую ключи без пароля .
Если вы хотите защитить свои ключи парольной фразой, см.« приложение 1: демон ssh запрашивает пароль »

убедитесь, что вас просят ввести пароль, а не пароль.
Не путайте и не ошибайтесьподсказка с вводом ключевой фразы для ключа '/home/sitaram/.ssh/id_rsa': для запроса пароля от удаленного сервера!

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

У вас есть два варианта, чтобы избежать этого запроса каждый раз, когда вы пытаетесь использовать закрытый ключ.

  • Первое - создать пары ключей без ключевой фразы (просто нажмите Enter, когда будет предложено ввести одну).
    Обязательно добавьте ключевую фразу позже, когда все заработает, используя ssh-keygen -p.
  • Второй - использовать ssh-agent (или keychain, который в свою очередь использует ssh-agent) или что-то подобное для управления вашими ключами.
    Кроме обсуждения еще одной потенциальной проблемы с ssh-agent (см. « приложение 3: клиент ssh может не предлагать правильный ключ »), дальнейшее обсуждение ssh-agent/keychain выходит за рамки этого документа.
0 голосов
/ 01 августа 2013

У меня возникли проблемы с клонированием репозитория gitolite-admin после первоначальной установки, и это было связано с тем, что я дал права на групповую запись в домашнюю папку пользователя gitolite git, а ssh не нравитсячто.


Я проверил Check /var/log/secure и увидел это:

В аутентификации отказано: плохое владение или режимы для каталога / home / git

Итак, все, что мне нужно было сделать:

sudo chmod g-w /home/git/

Ссылки:

...