GitLab ssh к имени хоста с локальным пользователем вызывает «фатальный: не удалось прочитать из удаленного репозитория»

#ssh #gitlab

#ssh #gitlab

Вопрос:

Странная ситуация

Использование Ubuntu с GitLab 7.0.0

У пользователя (меня) есть локальная учетная запись на сервере, доступ к которой осуществляется с помощью ключей SSH. Пользователь с тем же именем, что и выше, и имеет учетную запись в GitLab также с теми же SSH-ключами.

Мой предпочтительный метод доступа — использовать SSH при нажатии и извлечении.

Итак, после создания репозитория в GitLab и попытки

 git remote add origin git@[HOST NAME]:[GROUP]/[PROJECT].git
git push -v -u origin master
  

Я получил:

 fatal: Could not read from remote repository.
...
  

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

 git remote add origin http://[HOST NAME]:[GROUP]/[PROJECT].git
git push -v -u origin master
  

Сработало как по волшебству…

Теперь для других пользователей GitLab, у которыхНЕТ и не будет локальной учетной записи, git@[ИМЯ ХОСТА]: [ГРУППА] / [ПРОЕКТ].git работает нормально.

Теперь, если я сделаю следующее:

 git remote add origin git@[**IP ADDRESS**]:[GROUP]/[PROJECT].git
git push -v -u origin master
  

Все работает нормально!

При просмотре аутентификации.войдите на компьютер git@[ИМЯ ХОСТА]

 Accepted publickey for [USER]
  

При просмотре аутентификации.войдите на компьютер git@[IP-АДРЕС]

 Accepted publickey for git
  

Есть идеи?

Ответ №1:

Проблема была не в Gitlab, а в функции PuTTY. Если у вас есть именованный сеанс, сохраненный в PuTTY, в качестве имени хоста подключаемого к нему сервера будет использоваться имя пользователя, определенное в сохраненном сеансе, а не то, что было определено в командной строке [Это поведение существует с версии PuTTY версии 0.64].

Чтобы обойти эту функцию, убедитесь, что имя сеанса — это не просто имя хоста.

Ответ №2:

Скорее всего, проблема в том, что ваш ключ создан неправильно. Можете ли вы войти на свой сервер и удалить свой SSH-ключ из файла Git ~ /.ssh /authorized_keys? После того, как вы удалили его, воссоздайте SSH-ключ true GitLab, изменения в том, что он будет работать впоследствии.

Смотрите: https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide#could-not-read-from-remote-repository

Комментарии:

1. Нет, это действительно особенность PuTTY, я прибегнул к чтению кода! Я использовал ключ на других серверах и на других серверах Gitlab. Это простое решение, и я сомневаюсь, что разработчики PuTTY видят в этом насущную проблему. Хотя спасибо!