
У меня возникли проблемы с Gitlab. Я использовал следующее руководство для установки и настройки Gitlabhttps://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md. Установка, похоже, прошла хорошо и все такое. Веб-приложение, похоже, работает нормально. Однако я не могу клонировать, вытягивать, выталкивать, в общем, я по сути не могу использовать Gitlab. Я видел ошибки 403 с HTTP и отказ в доступе при попытке клонирования по SSH.
Я убедился, что мои закрытые ключи настроены правильно как в Windows, так и в OS X. Я вижу открытые ключи на сервере. Я добавил следующее в свой файл конфигурации в ~/.ssh.config
Host {hostname}
User git
Hostname {hostname}
PreferredAuthentications publickey
IdentityFile C:/Users/{username}/.ssh/id_rsa
Вот что я вижу в /var/log/secure
Jan 14 17:31:48 dev_version_control sshd[3696]: Connection closed by 192.168.17.113
Jan 14 17:32:18 dev_version_control sshd[3700]: Connection closed by 192.168.17.113
Это /var/log/message
не сработало, когда я попытался использовать git или ssh.
Я не уверен, куда идти дальше. Есть предложения?
Я не знаю, что вы подразумеваете под SSH с использованием имени пользователя git. В руководстве, которое я использовал, не создавался пароль для пользователя git и говорилось, что имя пользователя не может использоваться для входа.
решение1
Если вы загрузили свой закрытый ключ на клиенте, то, скорее всего, проблема связана с правами доступа к домашнему каталогу пользователя «git» и каталогу .ssh.
Попробуйте изменить маску каталога /home/git на 0711:
chmod 0711 /home/git
Убедитесь, что каталог /home/git/.ssh имеет маску 0700:
chmod 0700 /home/git/.ssh
Убедитесь, что файл /home/git/.ssh/authorized_keys имеет маску 0600:
chmod 0600 /home/git/.ssh/authorized_keys
Замените /home/git на ваш домашний каталог для пользователя 'git', если в руководстве он был другим. Если дело не в правах доступа, то, пожалуйста, оставьте комментарий, и мы посмотрим, в чем еще может быть проблема.
решение2
Проверьте, что у вас есть только одна запись для вашего открытого ключа (который был импортирован через веб-интерфейс) /home/git/.ssh/authorized_keys
и этот ключ имеет префикс и заголовок gitlab. Другими словами, если вы добавили тот же ключ вручную перед установкой gitlab, то удалите его.
решение3
Я бы также рекомендовал проверить, есть ли у пользователя надлежащие права на клонирование/вытягивание/загрузку в gitlab. Я просто потратил слишком много времени на просмотр конфигураций ssh/https, когда причиной проблемы было то, что у пользователя в gitlab не было достаточных прав...
решение4
Это может произойти, если в имени хоста есть «-». (Хотя это и законно согласноRFC952.)
ssh запрашивает у меня пароль для любого хоста, в имени которого есть '-'. Похоже, это проблема исключительно с разбором файла конфигурации ssh, поскольку добавление псевдонима к ~/.ssh/config (и использование этого псевдонима в моих удаленных URL-адресах git) решило проблему.
Другими словами, попробуйте поместить что-то вроде следующего в ваш C:/Users/{имя пользователя}/.ssh/config
Host {a}
User git
Hostname {a-b.domain}
IdentityFile C:/Users/{username}/.ssh/id_rsa
и где у вас есть пульт в форме
origin [email protected]:repo-name.git
удалите его, а затем снова добавьте, используя форму
origin git@a:repo-name.git