Не удается клонировать / зафиксировать репозиторий git через gitolite / Redmine
Я пытаюсь настроить Redmine с помощью gitolite и использовал это руководство http://nsaunders.wordpress.com/2012/04/24/redmine-gitolite-integration/
Вроде бы все работает нормально, репозиторий создается через Redmine (я вижу репозиторий под gitolite/repositories). Однако, когда я пытаюсь инициализировать репозиторий следующими командами, я продолжаю получать одно и то же сообщение об ошибке
mkdir nwi
cd nwi
git init
touch readme.txt
git add readme.txt
git commit -m 'Initializing T repository'
git remote add origin gitolite@localhost:nwi.git
git push -u origin master
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Открытый ключ для пользователя находится в autohorized_keys для gitolite. Пользователь в gitolite'е.conf для репозитория, к которому я пытаюсь привязаться. Я новичок в git, перепробовал тысячу вещей и не смог заставить его работать. Что может быть не так?
2 ответа:
Это проблема аутентификации ssh больше, чем проблема git. Обычно вы смотрите в
/var/log/secure
или аналогично, чтобы увидеть, почему ssh отклоняет соединение. Вы хотите убедиться, что:
- открытый ключ находится в файле
authorized_keys
,- формат этого файла правильный (без ошибок копирования и вставки и т. д.)
- права доступа к файлу
authorized_keys
следующие:600
(rw-------
)- разрешения для каталога
.ssh
следующие:700
(rwx------
)- Все принадлежит государству.
gitolite
пользователь
Создайте свою собственную пару клавиш. Как ваш собственный пользователь выполнить
cd ~/.ssh ssh-keygen -t rsa usernameУбедитесь, что ваш открытый ключ (username.pub) загружается в папку gitolite / keydir. Поскольку вы связали redmine с gitolite, это, вероятно, означает, что redmine управляет этими открытыми ключами, и вам нужно будет загрузить их в Redmine, чтобы Redmine мог обновить admin-репозиторий. Обратите внимание, что вы не можете добавлять ключи вручную, вам нужно будет зафиксировать и протолкнуть их через admin-repository (redmine должен сделать это в вашем случае)
Как только ваш открытый ключ зарегистрирован в gitolite, попробуйте зарегистрировать свой собственный ключ в системе:
exec ssh-agent bash ssh-add ~/.ssh/private-key-nameПопробуйте подключиться еще раз