GitLab 원격 : HTTP 기본 : 액세스 거부 및 치명적 인증


267

이 게시물과 달리 Mac OS를 사용하고 있습니다.

GitLab에 비밀번호가 구성되어 있습니다.

프로젝트가 GitLab에서 만들어진 후에 SSL 키가 생성되었습니다.

새 프로젝트에 기존 폴더를 사용할 때 아래 단계를 수행하십시오.

기존 폴더

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 기본 : 액세스 거부 치명적 : ' https://gitlab.com/myname/myproject '에 대한 인증 실패


다음 답변이 저에게 효과가 없었습니다 .. 여전히 Mac에서이 문제에 직면 한 사람이 있으면 ...이 링크가 도움이 될 수 있습니다 ... stackoverflow.com/questions/17659206/…
PALLAMOLLA SAI

답변:


534

Windows 암호를 변경해야 할 때마다 발생하며 위의 답변 중 어느 것도 도움이되지 않았습니다.

나에게 맞는 솔루션을 아래에서 시도하십시오.

  1. Windows 신임 정보 관리자로 이동하십시오 . 이 작업은 EN-US Windows에서 Windows 키를 누르고 '증명서'를 입력하여 수행됩니다. 다른 지역화 된 Windows 변형에서는 지역화 된 용어를 사용해야합니다 (일부 예제는 주석 참조).

    또는control /name Microsoft.CredentialManager 실행 대화 상자에서 바로 가기 를 사용할 수 있습니다 (WIN + R).

  2. Windows Credentials에서 git 항목을 편집하여 이전 비밀번호를 새 비밀번호로 바꿉니다.

3
고마워, 저에게도 효과가 있었고 문제를 해결했습니다. 당신이 당신의 장치에서 다른 Github에서 계정이있는 경우이 솔루션이 필요합니다
대니 Wehbe

4
여러 gilab 계정을 사용하고 있어도 저에게도 도움이 되었기 때문에 자격 증명 관리자에있는 것과 동일한 비밀번호로 모든 gitlab 계정을 업데이트했으며 문제가 해결되었습니다 @ Thanks @ mpro
Rajan Chauhan

6
참고 : 언어 시스템에 입력하십시오. Rus : "Credential Manager"= "Диспетчер Учетных Данных"
Dyno Cris

2
좋은 대답입니다. 이는 때때로 비밀번호를 변경해야하는 업무용 계정의 경우에 특히 그렇습니다.
geekidharsh 2016 년

4
독일어에서는 "Anmeldeinformationsverwaltung"과 "Windows-Anmeldeinformationen"입니다.
nachtigall

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

그런 다음 Git 원격 서버의 새 비밀번호를 입력하십시오.


22
Windows에서는 관리자 권한으로 실행해야합니다. 그렇지 않으면 권한 오류가 발생합니다.
Eternal21

6
자격 증명을 어디에 두 었는지에 따라 다릅니다. 이전 명령이 작동하지 않으면 글로벌 플래그를 사용하여도 시도 :git config --global--unset credential.helper
빈센트 Lunat

이 문제를 해결하는 OP에 대한 가장 관련성 높은 답변이며 일부 "Windows"접선에는 적용되지 않습니다. 참고로, sudo사용자가 다음에 액세스 할 수없는 것처럼이 명령을 실행해야 할 수도 있습니다./etc
Ghostrydr

git config --system credential.helper 관리자는 credential.helper를 다시 사용합니다.
hatanooh

자격 증명 도우미를 설정하지 않으면 GIT 리포지토리에 연결할 때마다 사용자 이름과 암호를 제공해야합니다. 다음 명령을 사용하여 도우미를 다시 설정할 수 있습니다. git config --global credential.helper store
Tomasz Czechowski

85

같은 오류가 발생하여 다음과 같이 해결했습니다.

  1. cmd에서 명령 적용 (관리자 권한으로 실행)

    git config --system --unset credential.helper

  2. 그런 다음 C : \ Program Files \ Git \ mingw64 / etc / 위치 에서 gitconfig 파일을 제거했습니다 (참고 :이 경로는 "/ Users / username"과 같이 MAC에서 다름)

  3. 그 후 git pullorgit push 같은 git 명령을 사용 하면 사용자 이름과 비밀번호를 묻습니다. 유효한 사용자 이름과 암호를 적용하고 git 명령이 작동합니다.

이것이 도움이되기를 바랍니다 ...


11
해당 오류가 발생하면 관리자 권한으로 명령 프롬프트를 실행하면 오류가 사라집니다.
영원한 21

참고 : 구성 (첫 번째 cmd)을 재설정하면 효과가 있습니다. 그런 다음 내 자식 푸시 및 blammo했습니다! 내 가게가 월간 암호 변경을 요구하기 때문에 내부 git lab이 헤이 와이어가되기 때문에 생각합니다.
yardpenalty.com

1
--global로 이런 식으로 시도해보십시오git config --global --unset credential.helper
Mike

57

나를 위해 다음이 효과가있었습니다.

GitLab 비밀번호를 사용하지 말고 액세스 토큰을 만들어 비밀번호 대신 사용하십시오.

  1. GitLab에서 설정 > 액세스 토큰으로 이동하십시오.
  2. 새 토큰을 만듭니다 ( api 확인 ).
  3. 자식 복제 ...
  4. 비밀번호를 묻는 메시지가 표시되면 GitLab 비밀번호 대신 액세스 토큰을 복사하여 붙여 넣습니다.

4
나도 일 했어!
Christian Ray Leovido

42

나를 위해 일한 유일한 방법 https://username:Password@gitlab.com/user/projectgit대신을 사용 했습니다 https://gitlab.com/user/projectgit. https://gitlab.com/gitlab-com/support-forum/issues/1654를 참조 하십시오.


1
내 대답이 비공개이기 때문에 잘 작동합니다. 감사합니다
Mohammad H.

감사. 나를 위해 SSL repo url로 바꿔야하지만 귀하의 답변이 도움이됩니다. 나는 그것을 upvoted했다.
Muzzamil

감사. BitBucket 또는 Github을 사용할 때 그러한 문제가 없었습니다. GitLab을 사용하면 개인용 액세스 토큰을 생성 한 다음 원격에서 사용할 수 있습니다.git remote set-url origin https://usernameHere:personalAccessTokenHere@gitlab.com/usernameHere/projectNameHere
Woppi

37

Windows 자격 증명 아래에서 git 항목을 편집하려면 Windows 자격 증명 관리자 (Windows 키를 누르고 'credential'을 입력)로 이동하십시오. 기존 비밀번호를 새 비밀번호로 바꿉니다.

Windows 자격 증명 관리자


OP는 Windows가 아닌 macOS에 있습니다.
Matthieu Brucher

이것은 OP에는 도움이되지 않지만 Windows dev 상자의 매력처럼 작동했습니다.
Tony

27

나는 또한 같은 문제에 직면했다. 문제의 원인은 인증 오류였습니다. 이 문제를 해결하려면 제어판-> 자격 증명 관리자-> 일반 자격 증명으로 이동 하여 gitlab 자격 증명을 찾아 편집하십시오. 아이디 비밀번호가 올바른지 확인하십시오

여기에 이미지 설명을 입력하십시오


제 트릭은 회사가 몇 달마다 도메인 비밀번호를 변경하도록 강요했기 때문입니다. 이 변경 사항으로 인해이 자격 증명 관리자의 자격 증명이 업데이트되지 않았습니다. 비밀번호를 업데이트하자마자 작동했습니다.
k4yaman

21

git> 2.11을 사용하고 Kerberos를 사용하여 Gitlab과 상호 작용하는 경우 remote: HTTP Basic: Access denied오류 를 피하기 위해 로컬 git에서이 구성을 설정해야 합니다.

$ git config --global http.emptyAuth true

출처


Kerberos를 사용한 재미있는 사례. +1
VonC

1
Kerberos를 사용하지 않지만 답장을 보내 주셔서 감사합니다.
jeancode

Kerberos필요하지 않습니다. 감사! git-scm.com/docs/git-config
컨트

오늘 아침 Windows에서 Git을 새로 설치 한 후 이 답변은 Access denied 오류를 해결했습니다.
제임스

성스러운 소-나는 다른 모든 제안을 받았고 마침내이 것이 효과가있었습니다. 실제로 Kerberos를 사용하고있었습니다!
MathFour의 Bon Crowder

19

도메인 앞에 사용자 이름을 추가하십시오.

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

그리고 조수가 비밀번호를 묻습니다.



12

관리자 권한으로 명령 프롬프트를 연 다음이 명령을 실행하십시오.

git config --system --unset credential.helper

수없는 잠금 설정 파일 C : \ 프로그램 파일 \ 힘내 \ mingw64은 / etc / gitconfig : 사용 권한이 거부되었습니다

1
구성 파일을 사용하지 않고 관리자 권한으로 명령 프롬프트를 열고 명령을 실행하십시오. 이것이 도움이되기를 바랍니다
MD. Shafayatul Haque

12

git 서비스 계정 (GitHub 또는 GitLab, Bitbacket 등)의 로그인 또는 비밀번호를 변경하면 발생합니다. Windows 자격 증명 관리자에서도 변경해야합니다.

따라서 Windows Search 메뉴에서 " Credential Manager "(rus. "Диспетчер Учетных Данных")를 입력하고 자식 서비스 계정으로 이동하여 데이터를 변경하십시오.

여기에 이미지 설명을 입력하십시오


사용자 또는 비밀번호를 변경하지 않았지만 (AD 자격 증명), 이것은 Gitlab 서버의 재 구축으로 인해 발생했으며 위의 솔루션으로이 오류가 해결되었습니다.
Michael Hafner

11

참고 : GitLab SSL 설정GitLab SSH 키를 혼합하지 마십시오 .

GitLab 프로필에서 구성한 것이 SSH 공개 키인 경우 HTTPS URL에서이를 사용하지 않습니다.

HTTPS 자격 증명과 관련하여 다음을 다시 확인하십시오.

  • 이중 인증이 비활성화 된 경우
  • 사용자 이름이나 비밀번호에 특수 문자가 있거나
  • Git 자격 증명 도우미가있는 경우 : git config credential.helper.

1
-Github를 통해 Gitlab을 인증했기 때문에 사용자 이름에 공백이 있습니다. 2 단계 인증이 비활성화되어 있습니다.- "Git 자격 증명 도우미가있는 경우"
Jeancode

@jeancode 의미 : 입력 할 때 무엇을 보게됩니까 : git config credential.helper잘못된 자격 증명을 캐시 할 수 있습니다.
VonC

@jeancode 공간을 백분율로 인코딩 했습니까? ( en.wikipedia.org/wiki/Percent-encoding#Character_data : % 20)
VonC

이름의 공간에 아무것도하지 않았습니다. 공간은 GitHub의 내 이름에서 비롯되었습니다 .GitLab은 Github을 통한 인증 로그인 중에 잡았습니다.
jeancode

1
2 단계 인증을 사용하는 동안 배포 키를 사용하려고했기 때문에 오류가 발생했습니다. 분명히 이중 요소가 활성화 된 경우 개인 액세스 토큰 만 사용할 수 있습니다.
Joshua Dyck

9

이 문제를 해결하는 방법에는 두 가지가 있습니다.

  1. 내 사용자 이름을 원격 URL 앞에 추가했습니다 ( https : // username @ gitRepoURL )

    • 항상 최상의 솔루션은 아닙니다. 내가 일하는 곳에서 GIT 사용을 천천히 진행하고 있지만 응용 프로그램을 네트워크 드라이브에 가지고 있으므로 다른 사람이 기능을 수행하더라도 변경 사항을 푸시 할 수 있습니다.
  2. git config --system --unset credential.helperGIT Bash에서 실행할 수 없으므로 관리자 명령 프롬프트를 열고 거기서 실행해야했습니다 (GIT Bash와 명령 프롬프트에서 모두 실행할 수 있도록 GIT를 설치했다고 가정합니다). Bash에서 "구성 파일을 잠글 수 없습니다"오류가 발생합니다.


자세한 내용은 다음을 참조하십시오 : git config -l. --global--system
마이크

9

로그인 비밀번호를 변경할 때마다 같은 문제가 발생했습니다.

아래는이 문제를 해결하기 위해 실행 해야하는 명령입니다.

git config --global credential.helper wincred

위의 명령을 실행하면 업데이트 된 사용자 이름비밀번호를 다시 묻습니다 .


5

필자의 경우 최신 버전의 git (현재 2.16.2)으로 다시 설치했습니다. 이전 버전의 git이 오래되었는지는 모르겠지만 github 페이지 에서 https 복제 오류로 넘어 가면이 작업을 수행해야한다고 읽었습니다 . HTTP BasicGitLab이 사용하는 동안 오류가 집중되면서 https 복제 오류라고 생각했습니다 HTTPS. 나는이 사고 과정에서 잘못되었을 수도 있지만 해결책은 내 경우에 도움이되었고 이것이 미래의 누군가에게 도움이되기를 바랍니다.


4

GO TO는 C:\Users\<<USER>> AND DELETE THE .gitconfig file다음 커넥트는 같은 업스트림하는 명령을 다시 시도하십시오 git clone, git pull or git push. 자격 증명을 다시 입력하라는 메시지가 표시됩니다. 친절하게 그렇게하십시오.


4

Windows의 'Credential Manager'에서 gitlab 자격 증명을 제거하고 성공적으로 푸시했습니다.


4

제어판-> 자격 증명 관리자-> Windows 자격 증명으로 이동하여 github 또는 gitlab 자격 증명을 선택하고 수정하십시오. 이것은 windows10입니다


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

기존 Git 계정으로 Gitlab에 로그인하려는 경우. Gitlab의 비밀번호를 처음으로 재설정해야합니다.

  1. 단계 : 프로필 아이콘 (오른쪽 상단의 드롭 다운 메뉴)을 클릭하여 설정으로 이동합니다.
  2. 단계 : 설정으로 이동
  3. 단계 : 자물쇠 아이콘 또는 문자 모양 아이콘 (예 : 비밀번호)을 클릭하십시오.
  4. 단계 : Gitlab의 새 비밀번호를 입력하십시오.

2

그래서 문제는 GitHub 계정을 연결하여 GitLab 계정을 생성했다는 것입니다. 이는 GitHub와 GitLab 간의 핫 링크를 통해 생성 된 계정에 공식적으로 비밀번호가 존재하지 않음을 의미했습니다. GitLab 설정-> 비밀번호->로 이동하여 GitHub 계정과 동일한 비밀번호를 작성하여 문제를 해결했습니다.


2

위의 솔루션 중 어느 것도 나를 위해 일한 적이 없으며 랩톱에 대한 관리자 권한이 없지만 결국 git tools credential storage doc으로 안내했습니다 .

내 설정 Windows 10 | 자식 버전 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을 사용해 보았습니다.

자식 클론 $ (browserURL)

내 사용자 이름과 암호를 입력하라는 메시지가 표시됩니다.

그때 잘 작동했습니다


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 기본 : 액세스 거부

remote : Git over HTTP에 대해 'read_repository'또는 'write_repository'범위의 개인 액세스 토큰을 사용해야합니다.

원격 : https://gitlab.com/profile/personal_access_tokens 에서 생성 할 수 있습니다

치명적 : ' https://gitlab.com/PROFILE_NAME/REPO_NAME.git/ '에 대한 인증 실패

나는 우분투에 있지만 이것은 나를 위해 일했다 :

  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. 자, 우리는 다시 코드를 푸시하려고 시도합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.