Отказано в разрешении, когда я пытаюсь перейти из локального репозитория gitlab в удаленный


Я создал репозиторий в веб-интерфейсе gitlab и попытался протолкнуть свой локальный репозиторий. Я добавил репозиторий, выполнив следующую команду:

$ git remote add origin test@x.x.x.x:project.git

Затем я попытался нажать, но это ошибки. Я не использую ssl. Я хочу использовать простое текстовое соединение.

$ git push origin master
test@x.x.x.x's password:
Permission denied, please try again.
test@x.x.x.x's password:
Permission denied, please try again.
test@x.x.x.x's password:
Permission denied (publickey,password).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
3 5

3 ответа:

Затем я создал тестового пользователя из веб-интерфейса. и создал проект с тестовым пользователем.

Вы никогда не будете использовать этого пользователя для связи с сервером в ssh: все авторизованные ключи сгруппированы под одной учетной записью, которая для gitlab должна быть git: ~git/.ssh/authorized_keys

См.config/gitlab.yml.

Так что попробуйте:

git remote set-url origin git@x.x.x.x:project.git

Новые версии ssh также запрещают использование ключа DSA по умолчанию. Убедитесь, что вы используете ключи RSA или убедитесь, что ваш ~/.СШ/config или /и т. д./СШ/файле ssh_config файлов разрешите ключи DSA. Вы можете сделать это, добавив что-то вроде этого в соответствующий файл:

Host your.git.server
    KexAlgorithms +diffie-hellman-group1-sha1
    HostkeyAlgorithms ssh-dss,ssh-rsa

Этот укусил меня.

Один из моих коллег столкнулся с той же проблемой. Для него это была проблема с установкой SSH. Похоже, что использованные учетные данные были неверными. И просто уборка, которая решила эту проблему.

$ git config --system --unset credential.helper
$ git config --global --unset credential.helper

Спасибо Паттхойтсу за этотОтвет .