Не могу клонировать из gitlab используя ssh - PullRequest
0 голосов
/ 02 января 2019

Я установил на DigitalOcean мой GitLab (GitServer), и он работает нормально. У меня также есть на DigitalOcean стек LAMP (WebServer), и он работает нормально.

Я успешно могу клонировать на свой компьютер любое хранилище с моего GitServer, я добавил свой ключ ssh в GitServer.

Я также добавил SSH-ключ моего WebServer в свой GitServer, но не могу клонировать его.

Вот что я получаю:

sudo git clone git@GitServer:group/repo.git
Cloning into 'repo'...
git@GitServer: Permission denied (publickey).
fatal: Could not read from remote repository.

Может быть, я что-то упустил, я безуспешно следовал тоннам учебников.

Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ - ПОСЛЕ ВСЕХ ОБРАТНОЙ СВЯЗИ НАЙТИ МОЙ ОТВЕТ

Обратите внимание, что команда, которую я использовал, была:

sudo git clone git@GitServer:group/repo.git

Ключом SSH, который я добавил на свой сервер, был ключ SSH моего пользователя. После создания новой пары ключей для пользователя root и добавления ее в мой GitServer больше не возникает Отказано в доступе (publickey) проблема.

Это будет решено либо добавлением вашего пользователя в группу www-data и предоставлением прав доступа к папке / var / www / (а не клонированием с использованием sudo), либо просто использованием sudo и добавлением ключа SSH root на сервер, как я сделал в конце.

Спасибо за все отзывы.

Ответы [ 2 ]

0 голосов
/ 02 января 2019

Нужно ли иметь пользователя git на моем WebServer?

Вот что означает git@GitServer: «подключиться к GitServer как пользователь git».
Ваш сервер GitLab должен работать как пользователь git.

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

Проверьте вывод ssh -Tv git@GitServer;вы должны увидеть приветственное сообщение .

Использование sudo означает, что ваш открытый / закрытый ключи должны быть в /root/.ssh, чтобы команда sudo git clone git@... могла успешно завершить сеанс ssh.

0 голосов
/ 02 января 2019

Это похоже на проблему с правами доступа.

Ваш ключ ssh не авторизован - Permission denied (publickey).

Вам необходимо создать открытый ключ ssh и снова добавить открытый ключ ssh,удалить старую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...