Не удается клонировать / зафиксировать репозиторий 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 2

2 ответа:

Это проблема аутентификации ssh больше, чем проблема git. Обычно вы смотрите в /var/log/secure или аналогично, чтобы увидеть, почему ssh отклоняет соединение. Вы хотите убедиться, что:

  • открытый ключ находится в файле authorized_keys,
  • формат этого файла правильный (без ошибок копирования и вставки и т. д.)
  • права доступа к файлу authorized_keys следующие:600 (rw-------)
  • разрешения для каталога .ssh следующие:700 (rwx------)
  • Все принадлежит государству. gitolite пользователь
  1. Создайте свою собственную пару клавиш. Как ваш собственный пользователь выполнить

    cd ~/.ssh
    ssh-keygen -t rsa username
  2. Убедитесь, что ваш открытый ключ (username.pub) загружается в папку gitolite / keydir. Поскольку вы связали redmine с gitolite, это, вероятно, означает, что redmine управляет этими открытыми ключами, и вам нужно будет загрузить их в Redmine, чтобы Redmine мог обновить admin-репозиторий. Обратите внимание, что вы не можете добавлять ключи вручную, вам нужно будет зафиксировать и протолкнуть их через admin-repository (redmine должен сделать это в вашем случае)

  3. Как только ваш открытый ключ зарегистрирован в gitolite, попробуйте зарегистрировать свой собственный ключ в системе:

    exec ssh-agent bash
    ssh-add ~/.ssh/private-key-name

Попробуйте подключиться еще раз