2011-02-03 3 views
6

У меня настроен сервер gitosis, следуя инструкциям от here. Он отлично работает для первого пользователя, но недавно я добавил нового пользователя. Вот шаги, которые я предпринял.gitosis с запросом пароля

  • Создана rsa keypair с использованием ssh-keygen с именем файла johndoe.
  • Затем скопировал его в keydir в gitosis admin repo.
  • Отредактированный файл Gitosis конфигурации и добавлен пользователем JohnDoe в список членов
  • поручены изменения с помощью git commit -a -m "what i did"
  • Выдвинутый изменения на сервер

После этого я попытался проверить с новым файл_ключа. Он запрашивает кодовую фразу, и когда я ввожу ее правильно, она запрашивает пароль для пользователя git !!! Для пользователя git нет пароля.

Теперь я отключил PasswordAuthentication в sshd_config, и теперь он говорит: «Разрешение отклонено (публиковать). Я проверил файл authorized_keys пользователя git, и в нем разрешен только один ключ, т. Е. Начальный ключ для администратора gitosis.

Я также проверил разрешения на ./gitosis-admin.git/hooks/post-update крючок и имеет 755

+0

Я даже не помню, что я сделал, чтобы решить эту проблему, или если бы я даже ее разрешил. В настоящее время я использую гитолит и чувствую, что это намного лучше. Что нужно сделать на такой вопрос? – andho

ответ

6

Gitosis вроде глупо - это имя файла вы использовали для файл_ключа буквально "Джон Доу"? Если это так, измените это:

git mv keydir/johndoe keydir/johndoe.pub 
git commit -m "changed key name" 
git push 

и повторите попытку.

Кроме того, как указывает Арлен Кусс, убедитесь, что на самом деле является открытым ключом, а не закрытым ключом.

+0

OP, если проблема является публичным или частным ключом, пожалуйста, примите ответ Арлена Кусса. Я оставляю это здесь для тех людей, которые оставили «.pub» от открытых ключей. – ebneter

+0

Честно говоря, я понятия не имею, что gitosis * делает *, если вместо этого вводится закрытый ключ, но я полагаю, что это не будет работать, и это может быть проблемой. Кто знает: -} – Ashe

+0

@Arlen Cuss , он установит закрытый ключ в файле авторизованных ключей, а затем ssh не будет работать. (У меня были люди, делающие это. :-)) – ebneter

1

Убедитесь, что вы положили открытый ключ внутри вашего репозитория gitosis, а не ваш частный!

Когда вы создаете ключевой файл, вы получите файл .pub, который будет использовать этот файл, но введите его в gitosis.conf без .pub.

+0

Oooh, хороший момент. :-) – ebneter

1

Убедитесь, что вы также добавили (git добавили) .pub-файлы и зафиксировали их и корректно разместили в репозитории.

5

Привет, у меня была та же проблема, и я наконец нашел выход.

Я должен был следовать указаниям многих веб-сайтах, но каждый раз после того, как

git clone [email protected][serveur_name]:gitosis-admin.git 

Он просит пароль для GIT.

Разрешение: я вставил открытый ключ администратора (созданного на моем клиенте пользователя, а затем импортировать в каталог TMP сервера) в моем authorized_keys файл (находится в /home/git/.ssh/ каталоге сервера), и он работает в настоящее время.

cp authorized_keys authorized_keys.bak 
cat /tmp/id_dsa_git.pub >> authorized_keys 

Я нашел это @http://fclose.com/b/linux/366/set-up-git-server-through-ssh-connection/

0

Недавно я столкнулся с этой проблемой с собственным хранилищем для работы. Я наткнулся на этот ответ и прочитал ответы; this и this сделал трюк.

Подводя итог для потомков, убедитесь, что вы добавить ключ .pub в каталог gitosis-admin/keydir. Он должен быть размером .pub.

Commit & Введите ваши изменения в gitosis-admin.

Ваш ~/.ssh/authorized_keys будет автоматически обновляться, поэтому вам не нужно котировать перенаправление вывода вашего файла открытого ключа на него.

Надеется, что это помогает

0

одна вещи, которая часто идет неправильно для пользователей окон и не поймала большинство из учебников там (так как они предполагают, что вы на клиенте Linux)

msysgit, консоль окна мерзавец, ищет вашего секретного ключа в /home/YOURUSERNAME/.ssh/id_rsa который на окнах (Windows 7) C: \ Users \ YOURUSERNAME.ssh \ id_rsa

в то время как большинство получить его прямо с папкой, так как она создается автоматически, они пропускают, что файл Должен быть назван «id_rsa» или он не будет использоваться msysgit. Я не нашел способ сказать msysgit использовать другие ключи

0

Скорее всего, произошло то, что крюк после обновления не работал должным образом.

Убедитесь, что у ~ git/.ssh/authorized_keys есть открытый ключ.

Если нет, крюк после обновления не запускался. Разрешения, которые впоследствии были изменены? Некоторая другая ошибка конфигурации. Скопировано откуда-то еще?

  1. На сервере проверка gitosis admin: git clone /path/to/gitosis-admin.git. Сделайте незначительное изменение gitosis.conf. Убедитесь, что ваш открытый ключ находится в keydir. Я должен был запустить это как пользователь git.

  2. Commit gitosis.conf. git Добавить gitosis.conf & & git commit -m "Обновить ключи".

  3. Теперь проверьте файл authorized_keys.

  4. Изменить gitosis.conf и снова зафиксировать.

Тестовый доступ. Если authorized_keys не обновляется после этого процесса, посмотрите в журналах сообщения об ошибках.