GitLab remote: HTTP Basic: доступ запрещен и фатальная аутентификация

269

Я на Mac OS в отличие от этого поста:

У меня есть пароль, настроенный в GitLab.

У меня есть ключ SSL, созданный ПОСЛЕ того, как проект был сделан на GitLab.

Когда я использую существующую папку для нового проекта и следую за шагами ниже:

Существующая папка

cd existing_folder
git init
git remote add origin https://gitlab.com/sobopla/Geronimod.git
git add .
git commit -m "Initial commit"
git push -u origin master

Мне предлагается ввести имя пользователя и пароль GitLab. После ввода пароля я получаю:

remote: HTTP Basic: доступ запрещен, неустранимый: аутентификация не удалась для « https://gitlab.com/myname/myproject »

jeancode
источник
Следующие ответы у меня не сработали .. Если бы еще кто-нибудь сталкивался с этой проблемой в Mac ... эта ссылка может помочь ... stackoverflow.com/questions/17659206/…
PALLAMOLLA SAI

Ответы:

537

Это происходит каждый раз, когда меня заставляют сменить пароль Windows, и ни один из приведенных выше ответов мне не помог.

Попробуйте следующее решение, которое работает для меня:

  1. Перейдите в диспетчер учетных данных Windows . Это делается в Windows EN-US путем нажатия клавиши Windows и ввода «учетных данных». В других локализованных вариантах Windows вам нужно использовать локализованный термин (см. Комментарии для некоторых примеров).

    В качестве альтернативы вы можете использовать ярлык control /name Microsoft.CredentialManagerв диалоговом окне запуска (WIN + R)

  2. Отредактируйте запись git в разделе «Учетные данные Windows», заменив старый пароль новым.
MPro
источник
3
Спасибо, это помогло мне и решило проблему. Вам нужно это решение, если на вашем устройстве есть разные учетные записи Github
Dany Wehbe
4
Это работало и для меня, хотя я использую несколько учетных записей gilab, поэтому я обновил всю учетную запись gitlab тем же паролем, который у меня есть в диспетчере учетных данных, и проблема решена Спасибо @ mpro
Раджан Чаухан
6
Примечание: введите его в вашей языковой системе. Рус: "Диспетчер учетных данных" = "Диспетчер Учетных Данных"
Dyno Cris
2
Отличный ответ. Это особенно актуально для ваших рабочих учетных записей, где вы должны время от времени менять свои пароли.
geekidharsh
4
На немецком языке это «Anmeldeinformationsverwaltung», а затем «Windows-Anmeldeinformationen».
nachtigall
169
   git config --system --unset credential.helper

затем введите новый пароль для удаленного сервера Git.

hatanooh
источник
22
Обратите внимание, что в Windows вам нужно запустить его от имени администратора, иначе вы получите ошибки разрешения
Eternal21
6
Это зависит от того, где вы положили свои полномочия. Если предыдущая команда не работает, попробуйте также использовать глобальный флаг:git config --global--unset credential.helper
Винсент Лунат
Это наиболее релевантный ответ для OP, так как он решает проблему и не затрагивает некоторые аспекты «по Windows». Кроме того, как примечание, вам может потребоваться выполнить эту команду, как sudoбудто ваш пользователь не имеет доступа к/etc
Ghostrydr
git config - менеджер системы credential.helper, чтобы снова использовать credential.helper.
hatanooh
Если вы отключите помощник по учетным данным, вам придется указывать имя пользователя и пароль при каждом подключении к GIT-репозиторию. Чтобы исправить это, вы можете снова установить помощника с помощью следующей команды: git config --global credential.helper store
Томаш Чеховский,
86

Я получил ту же ошибку, и я решил это:

  1. Применить команду из cmd (запуск от имени администратора)

    git config --system --unset credential.helper

  2. А затем я удалил файл gitconfig из C: \ Program Files \ Git \ mingw64 / etc / location (Примечание: этот путь будет отличаться в MAC, например, «/ Users / username»)

  3. После этого используйте команду git наподобие git pullorgit push , она запросила у меня имя пользователя и пароль. применение действительного имени пользователя и пароля и команды git работает.

Надеюсь, что это поможет вам...

Бхарти Ладумор
источник
11
Если вы получили эту ошибку, вы можете просто запустить командную строку от имени администратора, и ошибка исчезнет.
Вечный 21
К вашему сведению: Сброс настроек (ваш первый cmd) сработал. Я тогда сделал мой мерзавец толчок и blammo! Я думаю, потому что мой магазин требует ежемесячных смен паролей, поэтому внутренняя лаборатория мерзавцев становится бесполезной.
yardpenalty.com
1
также попробуйте это так с --global git config --global --unset credential.helper
Майк
Это решило это для меня на Mac
Адитья Викас Деварапалли
57

Для меня сработало следующее:

Не используйте свой пароль GitLab, но создайте токен доступа и используйте его вместо своего пароля:

  1. В GitLab зайдите в Настройки > Токены доступа
  2. Создайте новый токен (проверьте API )
  3. мерзкий клон ...
  4. Когда вас попросят ввести пароль, скопируйте и вставьте токен доступа вместо пароля GitLab.
JavAlex
источник
4
У меня тоже сработало!
Кристиан Рэй Леовидо
42

Единственное, что сработало для меня, это использовать https://username:Password@gitlab.com/user/projectgitвместо https://gitlab.com/user/projectgit. См. Https://gitlab.com/gitlab-com/support-forum/issues/1654.

Пауло Моргадо
источник
1
Отличный ответ, он отлично работает для меня, потому что мой мерзавец был личным, Спасибо
Мухаммед Х.
Спасибо. Хотя для меня нужно заменить его на SSL репо URL, но ваш ответ поможет мне. Я проголосовал за это.
Muzzamil
Спасибо. У меня не было такой проблемы при использовании BitBucket или Github. С GitLab я должен создать личный токен доступа, а затем использовать его в удаленном источникеgit remote set-url origin https://usernameHere:personalAccessTokenHere@gitlab.com/usernameHere/projectNameHere
Woppi
38

Перейдите в диспетчер учетных данных Windows (нажмите клавишу Windows и введите «учетные данные»), чтобы изменить запись git в разделе «Учетные данные Windows». Замените старый пароль новым.

Диспетчер учетных данных Windows

Энди Кироз
источник
ОП работает на macOS, а не на Windows.
Матье Брухер
Это не помогло бы OP, но это сработало как прелесть в моем устройстве для Windows.
Тони
спасибо, это сработало хорошо
Сирван Рахими
28

Я также столкнулся с той же проблемой. Причиной проблемы стала ошибка аутентификации. Чтобы решить эту проблему, перейдите в Панель управления -> Диспетчер учетных данных -> Общие учетные данные, найдите свои учетные данные gitlab и отредактируйте их. Убедитесь, что ваш идентификационный пароль правильный или нет

введите описание изображения здесь

Кшама Джайн
источник
Это помогло, в моем случае это произошло потому, что компания заставляет нас менять пароль домена каждые несколько месяцев. Это изменение не обновило учетные данные в этом диспетчере учетных данных. Как только я обновил пароль, он работал.
k4yaman
21

Если вы используете git> 2.11 и используете Kerberos для взаимодействия с Gitlab, вам нужно установить эту конфигурацию в локальном git, чтобы избежать remote: HTTP Basic: Access deniedошибки.

$ git config --global http.emptyAuth true

Источник

Pigueiras
источник
Интересный случай с Kerberos. +1
VonC
1
Я не использую Kerberos, но спасибо за ваш ответ.
jeancode
Kerberosне нужны Спасибо! git-scm.com/docs/git-config
contributorpw
После чистой установки Git на Windows сегодня утром. Этот ответ решен. Доступ запрещен для меня.
Джеймс
Святая корова - я просмотрел все другие предложения и, наконец, НАКОНЕЦ сработал. Действительно использовал Kerberos!
Бон Краудер на MathFour
20

Просто добавьте ваше имя пользователя перед доменом:

https://**username**@gitlab.com/user/projectgit

И помощник спросит у вас пароль

gal007
источник
13

Попробуй это:

  1. Перейти к: C:/Users/(YourUserName)/
  2. Удалить файл .gitconfig
boy_vkallstar
источник
12

Откройте командную строку как администратор, затем запустите эту команду:

git config --system --unset credential.helper
MD. Shafayatul Haque
источник
не удалось заблокировать файл конфигурации C: \ Program Files \ Git \ mingw64 / etc / gitconfig: В доступе отказано
1
Вы не используете конфигурационный файл, просто откройте командную строку от имени администратора и выполните команду. Надеюсь, это поможет
доктор медицины. Shafayatul Haque
12

Это происходит, если вы меняете свой логин или пароль учетной записи службы git (GitHub или GitLab, Bitbacket и т. Д.). Вам также нужно изменить его в диспетчере учетных данных Windows.

Итак, введите « Диспетчер учетных данных » (рус. «Диспетчер Учетных Данных») в меню поиска Windows, перейдите в свою учетную запись службы git и тоже измените данные.

введите описание изображения здесь

Дино Крис
источник
Хотя я не изменил своего пользователя или пароль (это учетные данные AD), это произошло со мной из-за перестройки сервера Gitlab, и вышеуказанное решение исправило эту ошибку.
Майкл Хафнер
11

Примечание: не смешивайте настройки GitLab SSL и ключи GitLab SSH .

Если то, что вы настроили в своем профиле GitLab, является открытым ключом SSH, то ваш HTTPS URL не будет его использовать.

Что касается ваших учетных данных HTTPS, проверьте еще раз:

  • если двухфакторная аутентификация отключена, или
  • если у вас есть специальные символы в имени пользователя или пароле, или
  • если у вас есть удостоверение помощник Git: git config credential.helper.
VonC
источник
1
- У меня есть пробел в имени пользователя, потому что я аутентифицировал Gitlab через Github - Двухфакторная аутентификация отключена - Что вы имеете в виду "Если у меня есть помощник по
учетным
@ jeancode Я имею в виду: что вы видите, когда печатаете git config credential.helper: это могло кэшировать неверные учетные данные.
VonC
@ jeancode Для места, вы в процентах его кодировали? ( en.wikipedia.org/wiki/Percent-encoding#Character_data:% 20)
VonC
Я ничего не делал с пробелом в имени, пробел происходит от моего имени в GitHub, которое GitLab захватил во время аутентификации при входе через Github.
Жан-код
1
Я получал сообщение об ошибке из-за попытки использовать ключи развертывания при двухфакторной аутентификации. По-видимому, вы можете использовать персональные токены, только если включен двухфакторный.
Джошуа Дейк
9

Есть два способа обойти эту проблему:

  1. Я добавил свое имя пользователя в начало удаленного URL ( https: // username @ gitRepoURL )

    • Не всегда лучшее решение; где я работаю, даже несмотря на то, что мы медленно движемся к использованию GIT, наши приложения находятся на сетевом диске, поэтому, если я это сделаю, только я могу вносить изменения, даже если кто-то еще работал над функцией.
  2. Я не могу запустить git config --system --unset credential.helperиз GIT Bash, поэтому мне пришлось открыть командную строку администратора и запустить ее там (предполагается, что вы установили GIT так, что он может работать как из GIT Bash, так и из командной строки). Из Bash я получаю сообщение об ошибке «Не удалось заблокировать файл конфигурации».

Artorias2718
источник
Для получения дополнительной информации см: git config -l. Также попробуйте выше с --globalвместо--system
Майк
9

Ну, я сталкиваюсь с той же проблемой, когда я меняю свой пароль для входа.

Ниже приведена команда, которую мне нужно выполнить, чтобы решить эту проблему: -

git config --global credential.helper wincred

После выполнения вышеуказанной команды он снова запрашивает у меня обновленные имя пользователя и пароль .

Викаш Пандей
источник
5

В моем случае я установил последнюю версию git (в настоящее время 2.16.2). Я не знаю, была ли моя старая версия git устаревшей, но я прочитал на странице github, что это следует делать, если вы столкнулись с ошибками клонирования https. Я полагал, что это была ошибка клонирования https, поскольку эта ошибка фокусируется на HTTP BasicGitLab HTTPS. Я могу ошибаться в этом мыслительном процессе, но решение помогло в моем случае, и я надеюсь, что это поможет любому в будущем!

Андреас Форслёв
источник
4

ПЕРЕЙТИ C:\Users\<<USER>> AND DELETE THE .gitconfig fileзатем попробуйте команду, которая подключается к апстрим, как git clone, git pull or git push. Вам будет предложено повторно ввести свои учетные данные. Пожалуйста, сделайте это.

Деннис Мутеги
источник
4

я удалил учетные данные gitlab из «Диспетчера учетных данных» в Windows и успешно нажал

saiedkia
источник
4

Перейдите в Панель управления-> Диспетчер учетных данных-> Учетные данные Windows, выберите учетные данные github или gitlab и измените их. Это для windows10

SanjX
источник
3

это сработало для меня: я использую Mac, и я написал путь в Finder:

~ / Библиотека / Поддержка приложений / SourceTree

Я удалил файл аутентификации, который должен быть как

yourUserName@STAuth-gitlab.yourAdress

затем попытался нажать и вытащить код из дерева исходных текстов, и это сработало.

Вы также можете прочитать следующие ответы:

https://community.atlassian.com/t5/Sourcetree-questions/How-to-update-HTTP-S-credentials-in-sourcetree/qaq-p/297564

Бурку Кутлуай
источник
2

Если вы пытаетесь войти в Gitlab с помощью существующей учетной записи Git. Вам необходимо сбросить пароль Gitlab, в первый раз.

  1. Шаг: перейдите к настройке, нажав значок вашего профиля (выпадающее меню в правом верхнем углу).
  2. Шаг: зайти в настройки
  3. Шаг: Нажмите на значок замка или значок глифа (например, пароль).
  4. Шаг: введите новый пароль для Gitlab.
Гани
источник
2

Поэтому для меня проблема заключалась в том, что я создал свою учетную запись GitLab, связав с ней свою учетную запись GitHub. Это означало, что для учетной записи формально не было пароля, так как он был создан по горячей ссылке между GitHub и GitLab. Я исправил это, зайдя в GitLab Settings -> Password -> и написав тот же пароль, что и у моей учетной записи GitHub.

Momchill
источник
2

Ни одно из перечисленных выше решений не помогло мне, и у меня нет прав администратора на моем ноутбуке , но в итоге они привели меня к документу хранилища учетных данных git tools :

Моя настройка Windows 10 | git версия 2.18.0.windows.1 | Клонировать через HTTPS ссылку

Это решение работает, если вы используете wincred в качестве помощника по учетным данным:

> git config --global credential.helper
wincred

Смена помощника на «кеш» должна помочь, так как она попросит вас снова предоставить свои учетные данные. Чтобы установить его в кеш, просто наберите:

> git config --global credential.helper cache

Проверьте, что ваше обновление активно:

> git config --global credential.helper
cache

Теперь вы должны иметь возможность клонировать / извлекать / извлекать, как и раньше.

lkostka
источник
1

Я попытался с URL браузера для хранилища тогда

git clone $ (browserURL)

это запросило мое имя пользователя и затем мой пароль

Тогда все работало нормально

Саурабх Верма
источник
1

Когда диспетчер учетных данных Windows запрашивает ваши учетные данные для доступа к GitLab, это имя пользователя и пароль, которые вы используете при доступе к GitLab. EG: используйте свой адрес электронной почты и пароль.

aercolino
источник
1

Когда у меня была такая же проблема,

Я решил это, удалив файл "passwd" в

C:\Users\<USERNAME>\AppData\Local\Atlassian\SourceTree

После удаления Sourcetree вам будет предложено ввести пароль.

Note:
OS Version : win10 
Sourcetree Version:  3.1
Жан-Филипп Ванкеммель
источник
1

Я считаю, что я немного опоздал здесь. Но я думаю, что это поможет новым взглядам!

Мои ошибки: удаленный : HTTP Basic: доступ запрещен

remote : вы должны использовать личный токен доступа с областью «read_repository» или «write_repository» для Git через HTTP.

Удаленный : вы можете создать один на https://gitlab.com/profile/personal_access_tokens

Неустранимо : аутентификация не удалась для " https://gitlab.com/PROFILE_NAME/REPO_NAME.git/ "

Я на Ubuntu, но это сработало для меня:

  1. Перейти к https://gitlab.com/profile/personal_access_tokens
  2. Создайте новый токен и отметьте галочкой все.
  3. Скопируйте свой токен
  4. Теперь перейдите в свой терминал и вставьте его следующим образом.

git clone https: // oauth2: YOUR_TOKEN@gitlab.com/PROFILE_NAME/REPO_NAME.git/

Gaurav
источник
0

Для пользователей Mac:

  1. Зайдите в брелок и удалите аккаунты на gitlab
  2. Перейдите к пути вашего проекта в терминале и просто наберите git pull
  3. Затем вас попросят ввести имя пользователя и пароль для gitlab.
  4. Введите имя пользователя, которое вы найдете в учетной записи gitlab в разделе профиля.
  5. Затем после этого введите ваш обновленный пароль здесь.
  6. Вот, пожалуйста, еще раз попробуйте нажать на ваш код, это может помочь вам, ребята.
Викаш Кумар
источник