source

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

ittop 2023. 5. 12. 22:43
반응형

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

게시물과 달리, 저는 macOS에 있습니다.

GitLab에서 설정한 비밀번호를 가지고 있습니다.또한 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

비밀번호를 입력하면 다음과 같은 오류가 발생합니다.

원격: HTTP Basic:액세스 거부 치명적:'https://gitlab.com/myname/myproject' 에 대한 인증 실패

Windows(윈도우) 암호를 변경해야 할 때마다 이러한 문제가 발생하지만 위의 대답 중 아무 것도 도움이 되지 않습니다.

다음 솔루션을 사용해 보십시오.

  1. Windows 자격 증명 관리자로 이동합니다.이 작업은 EN-US Windows에서 Windows 키를 누르고 'credential'을 입력하여 수행됩니다.다른 지역화된 Windows 버전에서는 지역화된 용어를 사용해야 합니다(일부 예는 주석 참조).

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

  2. Windows 자격 증명에서 git 항목을 편집하여 이전 암호를 새 암호로 바꿉니다.

저에게는 다음과 같은 것이 효과가 있었습니다.

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

  1. GitLab의 오른쪽 상단 모서리에서 개인 프로필 → 설정 → 토큰 액세스로 이동합니다.

  2. 새 개인 액세스 토큰 생성(api 옵션 확인)

  3. git clone ...

  4. 암호를 묻는 메시지가 나타나면 GitLab 암호 대신 액세스 토큰을 복사하여 붙여넣습니다.

    3단계

다음 명령을 사용할 수 있습니다.

git config --system --unset credential.helper

그런 다음 Git 원격 서버의 새 암호를 입력합니다.

저는 같은 오류를 얻었고 다음을 통해 이 문제를 해결 방법:

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

    git config --system --unset credential.helper

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

  3. 그 후, 또는 와 같은 git 명령어를 사용하여 나에게 사용자 이름과 비밀번호를 요청했습니다. 유효한 사용자 이름과 비밀번호를 적용하고 git 명령어가 작동합니다.

이것이 당신에게 도움이 되기를 바랍니다...

제게 유일하게 효과가 있었던 것은https://username:Password@gitlab.com/user/projectgithttps://gitlab.com/user/projectgithttps://gitlab.com/gitlab-com/support-forum/issues/1654 을 참조하십시오.

Windows 인증 정보 아래의 Git 항목을 편집하려면 Windows 인증 정보 관리자(Windows 키를 누르고 '인증 정보'를 입력)로 이동합니다.이전 암호를 새 암호로 바꿉니다.

Windows 자격 증명 관리자

도메인 앞에 사용자 이름을 추가하기만 하면 됩니다.

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

그리고 조수가 당신에게 비밀번호를 물어볼 것입니다.

저 또한 같은 문제에 직면하고 있었습니다.문제의 원인은 인증 오류였습니다.이 문제를 해결하려면 제어판 -> 자격 증명 관리자 -> 일반 자격 증명으로 이동하여 gitlab 자격 증명을 찾아 편집합니다.ID 암호가 올바른지 확인합니다.

여기에 이미지 설명 입력

> 작용하는 Git > 2.11을 사용하지 에서 이 .remote: HTTP Basic: Access deniedmessage

$ git config --global http.emptyAuth true

원천

로그인 암호를 변경할 때마다 동일한 문제가 발생했습니다.

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

git config --global credential.helper wincred

위 명령을 실행한 후 업데이트된 사용자 이름과 암호를 다시 묻습니다.

참고: GitLab SSL 설정과 GitLab SSH 키를 함께 사용하지 마십시오.

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

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

  • 2단계 인증이 비활성화된 경우, 또는
  • 사용자 이름 또는 암호에 특수 문자가 있는 경우, 또는
  • 증명 도우미가 : Git 격증도있는가경우미자우명:git config credential.helper.

솔루션을 자세히 살펴보기 전에 먼저 이러한 현상이 발생하는 이유를 살펴보겠습니다.

당신의 기계가 git을 하는 git과 거래하기 전에 당신의 인증을 확인합니다. 그것은 사용할 수 있습니다.

  1. 시스템에 존재하고 git-repo(가장 선호되는) 또는 공유되는 SSH 키 토큰
  2. 사용자 이름/암호 사용(대부분 사용)

왜 이런 일이 일어났습니까?

간단히 말해서, 이는 컴퓨터에 저장된 자격 증명이 인증되지 않았기 때문에 발생했습니다. 즉, 컴퓨터에 저장된 암호가 기존 암호와 변경되었을 가능성이 있습니다.

해결책

자격 증명 관리자를 찾아 제어판으로 이동하고 자격 증명 관리자를 검색하여 사용자의 giturl을 찾고 자격 증명을 변경합니다.

여기 있습니다. 이것은 대부분의 윈도우가 추적하지 않는 모든 것에서 작동합니다.

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

자격 증명 관리자(rus)를 입력합니다.Windows Search 메뉴에서 "Git 서비스 계정으로 이동하여 데이터를 변경합니다."

여기에 이미지 설명 입력

제가 좀 늦은 것 같아요.하지만 저는 이것이 새로운 삐삐에 도움이 될 것이라고 생각합니다!

내 오류: 원격: HTTP 기본:액세스 거부됨

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

원격: 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/

관리자로 명령 프롬프트를 열고 다음 명령을 실행합니다.

git config --system --unset credential.helper

사용해 보십시오.

  1. 이동 위치:C:/Users/(YourUserName)/
  2. 파일 삭제.gitconfig

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

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

    • 항상 최선의 솔루션은 아닙니다. 제가 일하는 곳에서는 GIT를 사용하는 방향으로 서서히 나아가고 있지만 네트워크 드라이브에 애플리케이션이 있기 때문에 제가 이렇게 하면 다른 사람이 기능을 사용하더라도 저만 변경 사항을 푸시할 수 있습니다.
  2. 나는 달릴 수 없습니다.git config --system --unset credential.helperGIT Bash에서 관리 명령 프롬프트를 열고 실행해야 했습니다. GIT Bash와 명령 프롬프트 모두에서 실행할 수 있도록 GIT를 설치했다고 가정합니다.Bash에서 "구성 파일을 잠글 수 없음" 오류가 발생합니다.

확실히 버그입니다. ssh는 제 기계 중 하나는 작동하지만 다른 하나는 작동하지 않습니다.제가 해결했어요, 이것들을 따라오세요.

  1. 만료 날짜가 없는 액세스 토큰을 생성하고 사용 가능한 모든 옵션을 선택합니다.
  2. 기존 SSH 키를 제거합니다.
  3. ssh 대신 https를 사용하여 repo를 복제합니다.
  4. 사용자 이름을 사용하지만 암호 대신 생성된 액세스 토큰을 사용합니다.

여기에 이미지 설명 입력

또는 기존 repo에서 이 명령을 사용하여 remote를 http로 설정하고 git remote set-url origin https://gitlab.com/ [http]/[repo-name]git 명령을 사용할 수 있습니다.

Mac의 소스 트리에서도 동일한 문제가 발생합니다.

솔루션:키 체인 액세스에서 암호를 삭제합니다.

여기에 이미지 설명 입력

https://community.atlassian.com/t5/Sourcetree-questions/SourceTree-quot-fatal-Authentication-failed-for-quot/qaq-p/201844

다시 누르면 암호를 묻는 메시지가 나타납니다.

제어판-> 자격 증명 관리자-> Windows 자격 증명으로 이동하여 github 또는 gitlab 자격 증명을 선택하고 수정합니다.이것은 윈도우10용입니다.

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

내가 같은 문제를 겪었을 때

에서 "passwd" 파일을 제거하여 해결했습니다.

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

소스 트리를 제거하면 암호를 묻는 메시지가 표시됩니다.

Note:
OS Version : win10 
Sourcetree Version:  3.1

Mac 사용자의 경우:

  1. 키체인으로 이동하여 gitlab 계정 삭제
  2. 터미널의 프로젝트 경로로 이동하여 git pull을 입력합니다.
  3. 그러면 gitlab의 사용자 이름과 암호를 묻는 메시지가 표시됩니다.
  4. 프로필 섹션에서 gitlab 계정을 확인할 사용자 이름을 입력합니다.
  5. 그런 다음 여기에 업데이트된 암호를 입력합니다.
  6. 자, 다시 한번 코드를 눌러보세요. 여러분에게 도움이 될 수도 있습니다.

구성 파일에 저장된 다른 git URL이었기 때문에 수동으로 변경했습니다.

  1. .git/config 파일로 이동하여 편집합니다.
  2. 잘못된 URL(있는 경우)을 제거하고 다음과 같이 올바른 git SSH/HTTP URL을 붙여넣습니다.
[remote "origin"]
        url = git@gitlab.com:prat3ik/my-project.git

그리고 그것은 효과가 있었습니다!!

GitLab을 사용할 때도 동일한 문제가 있었는데, 다음과 같이 해결했습니다.

  1. 액세스 토큰 생성: 설정/액세스 토큰으로 이동한 다음 이름과 만료 날짜를 지정하고 제출합니다.

  2. 에서 "git 의 "config" 파일을 ./.git/config.

  3. 다음과 같은 줄을 찾을 수 있습니다.

    [원격 "https"] url = https://[https]:[https]@your-domain.com/your-project.git

  4. [username] 대신 gitlab 사용자 이름이 표시되며, [token]을 1단계에서 생성된 토큰으로 대체해야 합니다.

  5. 변경 내용을 저장합니다.

이상하게도 제게 효과가 있었던 것은 GitLab 웹 UI에 로그아웃했다가 다시 로그인한 것입니다.

나는 이것이 왜 효과가 있었는지 전혀 모르겠습니다.

저는 Mac을 사용하고 검색기에 경로를 기록했습니다.

~/라이브러리/애플리케이션 지원/소스 트리

다음과 같아야 하는 인증 파일을 삭제했습니다.

사용자 이름@STAuth-gitlab.각하

그런 다음 소스 트리에서 코드를 밀고 당기려고 시도했고 작동했습니다.

다음 답변도 읽을 수 있습니다.

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

위의 솔루션 중 어떤 것도 게 적합하지 않았고노트북에 대한 관리자 권한도 없지만, 결국 Git tools 자격 증명 스토리지 문서로 이동하게 되었습니다.

내 설정 윈도우 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

이제 이전과 같이 복제/풀/페치를 수행할 수 있습니다.

저의 경우 최신 버전의 git(현재 2.16.2)에 다시 설치했습니다.제 이전 버전의 git가 구식인지는 모르겠지만, github 페이지에서 https 복제 오류가 발생할 경우 이 작업을 수행해야 한다고 읽었습니다.오류가 집중되어 있기 때문에 https 복제 오류라고 생각했습니다.HTTP Basic은 GitLab을 사용하는 반면, GitLab은 GitLab을 합니다.HTTPS이 생각하는 과정에서 제가 틀릴 수도 있지만, 해결책은 제 경우에 도움이 되었고, 저는 이것이 미래에 누구에게나 도움이 되기를 바랍니다!

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

  1. 단계: 프로필 아이콘(오른쪽 상단 모서리의 드롭다운 메뉴)을 클릭하여 설정으로 이동합니다.
  2. 단계: 설정으로 이동
  3. 단계: 잠금 아이콘 또는 글리프 아이콘(즉, 암호)을 클릭합니다.
  4. Step : Gitlab의 새 암호를 입력합니다.

언급URL : https://stackoverflow.com/questions/47860772/gitlab-remote-http-basic-access-denied-and-fatal-authentication

반응형