Назад | Перейти на главную страницу

Ошибка клонирования gitosis-admin при новой настройке

В моем gitosis.conf есть следующее. (Создано через gitsosis-init < id_rsa.pub ключом от ноутбука)

[gitosis]
loglevel = DEBUG

[group gitosis-admin]
writable = gitosis-admin
members = michael@laptop

Когда я пытаюсь git clone git@SERVER:gitsos-admin.git, Я получаю следующие ошибки:

Initialized empty Git repository in /home/michael/gitsos-admin/.git/
DEBUG:gitosis.serve.main:Got command "git-upload-pack 'gitsos-admin.git'"
DEBUG:gitosis.access.haveAccess:Access check for 'michael@laptop' as 'writable' on 'gitsos-admin.git'...
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'gitsos-admin.git', new value 'gitsos-admin'
DEBUG:gitosis.group.getMembership:found 'michael@laptop' in 'gitosis-admin'
DEBUG:gitosis.access.haveAccess:Access check for 'michael@laptop' as 'writeable' on 'gitsos-admin.git'...
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'gitsos-admin.git', new value 'gitsos-admin'
DEBUG:gitosis.group.getMembership:found 'michael@laptop' in 'gitosis-admin'
DEBUG:gitosis.access.haveAccess:Access check for 'michael@laptop' as 'readonly' on 'gitsos-admin.git'...
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'gitsos-admin.git', new value 'gitsos-admin'
DEBUG:gitosis.group.getMembership:found 'michael@laptop' in 'gitosis-admin'
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly

Я знаю, что мой ключ принимается, потому что я пытался войти в систему через SSH, и хотя терминал не будет выделен, авторизация работает.

Я не уверен, что вы допустили ошибку, вставляя свой вопрос, но уверены ли вы на 100%, что использовали: git clone git@SERVER:gitsos-admin.git и нет git@SERVER:gitosis-admin.git...

Это небольшое изменение, но ваш пример показывает, что вы пытаетесь клонировать gitsos-admin.git и нет гитоз-admin.git

Вы уверены, что пользователь, под которым запущен gitosis, имеет права доступа к каталогу, в котором находится репозиторий? (И все его подкаталоги, включая сам репозиторий.) Я сам столкнулся с этой проблемой при первой настройке нашего сервера gitosis.

Другая причина, по которой это может произойти, заключается в том, что имена ключевых файлов не совпадают с именами в gitosis.conf. Важный момент: ваше имя появляется в трех местах. Сначала в файле gitosis.conf. Второй в название ключевого файла. В-третьих, внутри ключевого файла в конце вашего открытого ключа.

Я на собственном опыте выяснил, что имя ключевого файла должно быть вашим именем пользователя (в gitosis.conf) с добавленным к нему «.pub». Так, например, если ваше имя пользователя - «mtiller» в gitosis.conf, тогда ваш ключевой файл лучше называть «mtiller.pub». Имя внутри ключевого файла (насколько я могу судить) не имеет значения.

Это может сильно сбивать с толку, потому что даже в отладочных выводах Git не сказано ничего явного вроде «не удалось найти ключ для пользователя xyz», что действительно раздражает. Другими словами, он выдает сообщения / ошибки авторизации, когда проблема действительно связана с аутентификацией.

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

Я знаю, что это не прямой ответ на ваш вопрос, но у меня недостаточно репутации. оставить комментарий. То, что говорит Майкл Тиллер, не совсем верно. Я столкнулся с аналогичной проблемой, которую я описал здесь

Как я могу заставить gitosis различать двух пользователей с одним и тем же именем пользователя

Имя, которое вы используете в gitosis.conf, и имя файла ключей ssh ​​должны совпадать. Однако это не обязательно должно каким-либо образом соответствовать элементу имени пользователя внутри файла ключей ssh.