Віддалений GitLab: HTTP Basic: В доступі відмовлено та фатальна автентифікація


266

Я на 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. Після введення пароля я отримую:

віддалений: HTTP Basic: доступ заборонено фатально: автентифікація не вдалася до " https://gitlab.com/myname/myproject "


Після відповідей не робота для me..If ще хто - стикається це питання в макінтош ... Це посилання може допомогти ... stackoverflow.com/questions/17659206 / ...
PALLAMOLLA SAI

Відповіді:


533

Це трапляється щоразу, коли я змушений змінювати пароль Windows, і жоден з вищезазначених відповідей мені не допоміг.

Спробуйте нижче рішення, яке працює для мене:

  1. Перейдіть до Менеджера облікових даних Windows . Це робиться в системі Windows для США за допомогою натискання клавіші Windows та введення «облікових даних». В інших варіантах локалізованої Windows вам потрібно використовувати локалізований термін (див. Коментарі для деяких прикладів).

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

  2. Відредагуйте запис git у розділі "Повноваження Windows", замінивши старий пароль на новий.

3
Дякую, що працювали і для мене, і вирішили проблему. Вам потрібне це рішення, якщо у вас на пристрої різні облікові записи Github
Dany Wehbe

4
Він працював і для мене, хоча я використовую кілька облікових записів gilab, тому що я зробив, я оновив усі свої акаунти gitlab тим самим паролем, який я маю в моєму довіреному менеджері, і проблема вирішена. Дякуємо @ mpro
Раджан Чаухан

6
Примітка: введіть його у своїй мовній системі. Rus: "Кредитний менеджер" = "Диспетчер Учетных Данных"
Dyno Cris

2
Чудова відповідь. Особливо це стосується ваших робочих акаунтів, де вам доведеться змінювати паролі раз у раз.
geekidharsh

4
Німецькою мовою це "Anmeldeinformationsverwaltung", а потім "Windows-Anmeldeinformationen".
nachtigall

169
   git config --system --unset credential.helper

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


22
Зауважте, що в Windows вам потрібно запустити його як адміністратор, інакше ви отримаєте помилки дозволу
Eternal21

6
Це залежить від того, куди ви поставите свої повноваження. Якщо попередня команда не працює, спробуйте також скористатися глобальним прапором:git config --global--unset credential.helper
Вінсент Лунат

Це найбільш відповідна відповідь для ОП, оскільки вона вирішує цю проблему, і не йде на деяку дотичну "для Windows". Також в якості побічної нотатки вам може знадобитися запустити цю команду так, sudoніби ваш користувач не має доступу до/etc
Ghostrydr

git config - диспетчер системних облікових записів.систем, щоб знову використовувати poverljiv.helper.
hatanooh

Якщо ви скасуєте помічник облікових даних, вам потрібно буде вводити ім’я користувача та пароль при кожному підключенні до сховища GIT. Щоб виправити, що ви знову можете встановити помічника, скориставшись такою командою: git config
Томаш Чеховський

85

Я отримав таку ж помилку, і я вирішив це:

  1. Застосувати команду з cmd (запустити як адміністратор)

    git config --system --unset credential.helper

  2. А потім я видалив файл gitconfig з C: \ Program Files \ Git \ mingw64 / etc / location (Примітка: цей шлях буде відрізнятися в MAC, як "/ Users / username")

  3. Після цього використовуйте команду git на кшталт git pullабоgit push , вона попросила мене ім’я користувача та пароль. застосовуючи дійсні ім’я користувача та пароль та команду git.

сподіваюся, що це допоможе вам ...


11
Якщо ви отримаєте цю помилку, ви можете просто запустити ваш командний рядок як адміністратор, і помилка усунеться.
Вічний21,

FYI: Працює лише скидання конфігурації (ваш перший cmd). Я тоді зробив свій git push і blammo! Я думаю, що це тому, що мій магазин вимагає щомісячних змін пароля, щоб внутрішня лабораторія git переходила напросто.
yardpenalty.com

1
також спробуйте це з --global git config --global --unset credential.helper
Майком

57

Для мене працювали наступні:

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

  1. У GitLab перейдіть до Налаштування > Токени доступу
  2. Створіть новий маркер (позначте api )
  3. клон клоч ...
  4. Коли вас запитають пароль, скопіюйте та вставте маркер доступу замість пароля GitLab

4
Працювали і для мене!
Крістіан Рей Леовідо

42

Єдине, що працювало для мене, це використовувати https://username:Password@gitlab.com/user/projectgitзамість https://gitlab.com/user/projectgit. Дивіться https://gitlab.com/gitlab-com/support-forum/isissue/1654


1
Чудова відповідь, це добре спрацьовує для мене, тому що мій git був приватним, дякую
Мохаммед Х.

Дякую. Хоча мені доведеться замінити його на URL-адресу репортажу SSL, але ваша відповідь допоможе мені допомогти. Я це відмовив.
Муццаміль

Дякую. У мене не було такої проблеми під час використання BitBucket або Github. За допомогою GitLab я повинен створити персональний маркер доступу, а потім використовувати його у віддаленому git remote set-url origin https://usernameHere:personalAccessTokenHere@gitlab.com/usernameHere/projectNameHere
поколінні

37

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

Менеджер облікових даних Windows


OP працює на macOS, а не на Windows.
Матьє Брючер

Це не допомогло б OP, але воно спрацювало як шарм на моїй скриньці Windows Dev.
Тоні

27

Я також стикався з тим же питанням. Причиною проблеми стала помилка аутентифікації. Щоб вирішити цю проблему, перейдіть до Панелі управління -> Менеджер довірених даних -> Загальні облікові дані, знайдіть свої облікові дані gitlab та відредагуйте їх. Переконайтеся, що ваш пароль посвідчення правильно чи ні

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


Це зробило трюк, в моєму випадку це було тому, що компанія змушує нас змінювати пароль домену кожні кілька місяців. Ця зміна не оновила облікові дані цього менеджера облікових даних. Як тільки я оновив пароль, він працював.
k4yaman

21

Якщо ви використовуєте git> 2.11 і використовуєте Kerberos для взаємодії з Gitlab, вам потрібно встановити цю конфігурацію у вашому локальному git, щоб уникнути remote: HTTP Basic: Access deniedпомилки.

$ git config --global http.emptyAuth true

Джерело


Цікавий випадок, з Керберосом. +1
VonC

1
Я не використовую Kerberos, але дякую за вашу відповідь.
jeancode

Kerberosне потрібні. Дякую! git-scm.com/docs/git-config
contributorpw

Після ранньої установки Git на Windows сьогодні вранці. Ця відповідь вирішила для мене помилку відхиленого доступу.
Джеймс

Свята корова - я переглянув усі інші пропозиції і, нарешті, НАРЕШТО це спрацювало. Дійсно використовував Kerberos!
Бон Кроудер на MathFour

19

Просто додайте своє ім’я користувача перед доменом:

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

І помічник попросить вас пароль



12

Відкрийте командний рядок як адміністратор, а потім запустіть цю команду:

git config --system --unset credential.helper

не вдалося заблокувати файл конфігурації C: \ Program Files \ Git \ mingw64 / etc / gitconfig: Дозвіл відхилено

1
Ви не використовуєте конфігураційний файл, просто відкрийте командний рядок як адміністратор і запустіть команду. Сподіваюся, що це допомагає
доктор медицини. Шафаятул Хаке

12

Це трапляється, якщо ви зміните свій логін або пароль облікового запису служби git (GitHub або GitLab, Bitbacket тощо). Його потрібно змінити і в Менеджері облікових даних Windows.

Отже, введіть " Менеджер довірених даних" (рос. "Диспетчер Учетных Данных") у меню пошуку Windows, перейдіть до свого облікового запису служби git і також змініть дані.

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


Хоча я не змінив свого користувача чи пароля (це обліковий запис AD), це сталося зі мною через відновлення сервера Gitlab, і вищевказане рішення виправило цю помилку.
Майкл Хафнер

11

Примітка: не змішуйте налаштування GitLab SSL та ключі GitLab SSH .

Якщо те, що ви налаштували у своєму профілі GitLab, є відкритим ключем SSH, то ваша URL-адреса HTTPS не використовує його.

Що стосується ваших даних HTTPS, двічі перевірте:

  • якщо двофакторну автентифікацію вимкнено, або
  • якщо у вашому імені користувача або пароля є спеціальні символи, або
  • якщо у вас є посвідчення помічник Git: git config credential.helper.

1
- У мене є пробіл у моєму імені користувача, оскільки я перевірив автентифікацію Gitlab через Github - Двофакторна аутентифікація вимкнена - Що ви маєте на увазі "Якщо у мене є помічник
увімкнення

@jeancode Я маю на увазі: що ви бачите під час введення git config credential.helper: це могло б кешувати неправильні облікові дані.
VonC

@jeancode Ви просто кодували простір? ( en.wikipedia.org/wiki/Percent-encoding#Character_data:% 20)
VonC

Я нічого не робив до простору в імені, простір походить від мого імені в GitHub, яке GitLab захопив під час входу в систему через автентифікацію через Github.
jeancode

1
Я отримував помилку через спробу використовувати клавіші розгортання, коли було включено двофакторну автентифікацію. Мабуть, ви можете використовувати особисті маркери доступу, лише якщо двофакторний.
Джошуа Дайк

9

Існує два способи подолання цієї проблеми:

  1. Я додав своє ім’я користувача на передню частину віддаленої URL-адреси ( https: // ім'я користувача @ gitRepoURL )

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


Для отримання додаткової інформації див: git config -l. Також спробуйте вище, --globalа не--system
Майк

9

Що ж, я стикався з одним і тим же питанням кожного разу, коли міняв пароль для входу.

Нижче наведена команда, яку мені потрібно виконати, щоб виправити цю проблему: -

git config --global credential.helper wincred

Після запуску вище команди він знову запитує моє оновлене ім’я користувача та пароль .


5

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


4

GO TO, C:\Users\<<USER>> AND DELETE THE .gitconfig fileтоді спробуйте команду, яка підключається до upstream, як git clone, git pull or git push. Вам буде запропоновано повторно ввести свої облікові дані. Будь ласка, зробіть так.


4

я видалив облікові дані gitlab з "Менеджера довіри" у Windows та успішно натиснув


4

Перейдіть до Панелі керування-> Менеджер довідок-> Уповноважені Windows виберіть облікові дані github або gitlab та змініть їх. Це для Windows10


3

це працювало для мене: я використовую Mac, і я написав шлях на Finder:

~ / Бібліотека / Підтримка програм / SourceTree

Я видалив файл auth, який повинен бути схожим

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 -> Пароль -> і записавши той самий пароль, що і в моєму обліковому записі GitHub.


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

Тепер ви повинні мати можливість клонувати / витягувати / витягувати, як раніше.



1

Тоді я спробував за допомогою URL-адреси браузера для сховища

git clone $ (браузерURL)

це запропонувало моє ім’я користувача, а потім мій пароль

Тоді це добре працювало


1

Коли Менеджер облікових даних Windows запитує ваші облікові дані для доступу до GitLab, це ім'я користувача та пароль, які ви використовуєте під час доступу до GitLab. EG: використовуйте електронну пошту та пароль.


1

Коли у мене була така ж проблема,

Я вирішив це, видаливши файл "passwd" в

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

Після видалення Sourcetree запропонує ввести пароль.

Note:
OS Version : win10 
Sourcetree Version:  3.1

1

Я вважаю, що тут я трохи запізнююся. Але я думаю, що це допоможе новим заглядам!

Мої помилки були: віддалений : HTTP Basic: доступ заборонено

віддалений : Ви повинні використовувати маркер особистого доступу з областю '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/



0

Для користувачів Mac:

  1. Перейдіть до брелка і видаліть акаунти gitlab
  2. Перейдіть до свого шляху проекту у терміналі та просто наберіть git pull
  3. Тоді вам буде запропоновано ім’я користувача та пароль для gitlab
  4. Введіть своє ім’я користувача, яке ви дізнаєтесь у акаунті gitlab у розділі профілю.
  5. Потім після цього введіть тут оновлений пароль.
  6. Ось ми знову спробуємо підштовхнути свій код, це може допомогти вам, хлопці.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.