пользователи gitolite не могут подключиться

У меня проблема с тем, что другие пользователи не могут подключиться к моему серверу gitolite.

С моей стороны все работает нормально (я администратор и также сделал gl-easy-install) - однако я запросил pub у другого пользователя и добавил его в keydir вместе с добавлением их разрешений в репозиторий gitolite-admin в conf файл. Я git add и commit эти файлы и push копирую их на сервер gitolite. Все выглядит хорошо.

Я сказал пользователю попробовать git clone [email protected]:gitolite-admin.git, и он получил ошибку разрешения. Перехватчики команд находятся в файле authorized_keys пользователя git, поэтому я немного не понимаю, что мне не хватает.

В некоторых других ответах я видел, что правильный адрес для использования — [email protected]:gitolite-admin.git, но, судя по файлу authorized_keys, это совсем не правильно.

Помощь очень ценится, спасибо за ваш опыт!


person Nic    schedule 15.06.2011    source источник


Ответы (3)


сделать ssh -vvvv [email protected] на вашем компьютере. Вы увидите, какие ключи предлагаются. Теперь сделайте то же самое на машине этого пользователя. Также, пожалуйста, опубликуйте свой файл конфигурации для gitolite и, если они у вас есть, файлы ~/.ssh/config, если они у вас есть. Замените любое конфиденциальное репо чем-то общим.

(проголосовал за ваш вопрос)

person Adam Dymitruk    schedule 15.06.2011
comment
быстрый вопрос, пока я это понимаю - сможет ли добавленный мной пользователь подключиться через ssh к серверу? у меня сложилось впечатление, что они смогут подключиться только через git clone - person Nic; 16.06.2011
comment
да, но через учетную запись gitolite, о которой знает сервер. ssh [email protected] не должен давать вам командную строку, а вместо этого перечислять репозитории и немедленно выходить из системы. - person Adam Dymitruk; 16.06.2011
comment
ssh -v показал нам, что он ищет id_rsa, а не username, что застало нас обоих врасплох. есть ли способ заставить его искать что-то кроме id_rsa? - person Nic; 16.06.2011
comment
@melee: попросите пользователя добавить раздел в свой ~/.ssh/config, чтобы настроить ключ для использования с вашим сервером: (строки, разделенные плюсом) Host server.com + IdentityFile ~/.ssh/other_key_file. Затем они должны быть в состоянии сделать git clone [email protected]:gitolite-admin.git. - person Chris Johnsen; 16.06.2011
comment
@Крис Джонсен, спасибо! Выполнение этой установки gitolite научило меня гораздо большему, чем я когда-либо хотел знать о ssh. - person Nic; 16.06.2011

Обычно эти проблемы связаны с правами доступа к файлам подключающихся пользователей в их каталоге .ssh. Убедитесь, что их файлы идентификаторов доступны только для чтения (400). Кроме того, убедитесь, что каталог .ssh и все родительские каталоги не доступны для записи никому, кроме пользователя root и пользователя. Например, их каталоги должны иметь такие разрешения:

$ ls -ld . home home/prentice home/prentice/.ssh/
drwxr-xr-x 22 root     root     4096 2011-04-28 09:47 .
drwxr-xr-x  4 root     root     4096 2010-11-17 22:19 home
drwxr-xr-x 75 prentice prentice 4096 2011-06-15 13:56 home/prentice
drwx------  2 prentice prentice 4096 2011-04-20 08:07 home/prentice/.ssh/

В противном случае ssh отклонит их удостоверение, потому что оно может быть прочитано или изменено другими. То же самое касается вашего файла author_keys. Если он может быть изменен другими (либо напрямую, либо путем изменения каталогов над ним), ssh не будет его использовать.

person Steve Prentice    schedule 15.06.2011
comment
Спасибо за понимание этого, в конце концов я проверил это, но завивка выглядела хорошо. На самом деле он искал id_rsa - person Nic; 16.06.2011

Убедитесь, что пользователь, который пытается получить доступ к репозиторию, пытается получить доступ из той же учетной записи пользователя и с соответствующим ключом rsa..,

Например: если вы добавили открытый ключ пользователя root в gitolite-admin, и пользователь пытается получить доступ из своей учетной записи пользователя sudo, это не сработает..,

person Ravi D    schedule 30.10.2012