programing

git 클론:인증에 실패했습니다.

starjava 2023. 4. 22. 08:21
반응형

git 클론:인증에 실패했습니다.

개인 회사 tfs에 액세스하려고 합니다.Windows 사용자(domain\login)에게 적절한 권한을 부여하여 액세스 권한을 부여했습니다.

tfs의 웹 인터페이스에 접속하거나 저장소 열람 등을 할 수 있습니다.

하지만 내가 도망가려고 하면

 git clone https://tfs.somehostname.com/tfs/somefolder/_git/therepository

에 실패하다

Cloning into 'therepository'...

fatal: Authentication failed for 'https://tfs.somehostname.com/tfs/somefolder/_git/therepository/'

사내 네트워크 없이 홈 PC를 사용해 보았다(동일한 에러).

PowerShell, Git Bash, Visual Studio를 통한 클론 실행 - 동일한 오류.

SSH가 닫힙니다(gave request timeout).

Web과 Git 모두 한 번 credentials를 요구합니다(credentials Manager에서 삭제 시도 - 다시 묻습니다.Web을 전송하면 git이 실패합니다).

회사 도우미가 도와주려고 했지만, 그가 준 건 tfs 로그뿐이었어요.그는 내 사용자 이름은 요청과 함께 제공되지 않는다고 말합니다(시도의 타임스탬프를 로그와 동기화하여 추적됨).

2018-07-19 07:04:00 SOMEIP GET /tfs/SOMEFOLDER/_git/REPOSITORY/info/refs service=git-upload-pack 443 - ANOTHERIP git/2.12.2+(Microsoft+Windows+NT+6.3.9600.0;+Win32NT+x64)+CLR/4.0.30319+VS15/15.0.0 - 401 2 5 62
2018-07-19 07:23:00 SOMEIP GET /tfs/SOMEFOLDER/_git/REPOSITORY/info/refs service=git-upload-pack 443 - ANOTHERIP git/2.18.0.windows.1 - 401 2 5 62
2018-07-19 07:23:00 SOMEIP GET /tfs/SOMEFOLDER/_git/REPOSITORY/info/refs service=git-upload-pack 443 - ANOTHERIP git/2.18.0.windows.1 - 401 1 3221225581 187

다른 사람들은 그것을 포함하지만

2018-07-19 05:44:27 SOMEIP GET /tfs/SOMEFOLDER/_git/REPOSITORY/info/refs service=git-upload-pack 443 DOMAIN\LOGIN ANOTHERIP git/2.12.2+(Microsoft+Windows+NT+6.1.7601+Service+Pack+1;+Win32NT+x64)+CLR/4.0.30319+VS15/15.0.0 - 200 0 0 265

개발 기계에서도 같은 오류가 발생했습니다.저장소를 복제하려고 했습니다.내 컴퓨터에 새로 설치된 Windows Server 운영 체제가 있었습니다.저는 Git 클라이언트로 Git bash를 사용하고 있었습니다.저장소를 복제하는 Git의 명령을 실행했을 때 인증에 사용할 사용자 ID와 비밀번호를 묻는 메시지가 표시되지 않았습니다.새 PC였기 때문에 Windows 자격 증명 관리자에 의해 자격 증명이 캐시되지 않았습니다.

마지막 수단으로 credentials 매니저에 수동으로 credential을 추가한 절차는 다음과 같습니다.

  1. + 를 눌러 Run 프롬프트를 엽니다.
  2. [ Control ]를 입력하고 를 누릅니다.
  3. [컨트롤 패널]창을 클릭합니다.
  4. [ User Accounts ]
  5. [ Credential Manager ]창을 클릭합니다.

이제 Windows Credentials 섹션을 클릭합니다(아래 스크린샷의 노란색 강조 표시 참조).

여기에 이미지 설명 입력

다음 양식에 표시된 대로 세부 정보를 입력하고 을 클릭합니다.

여기에 이미지 설명 입력

자세한 내용은 다음과 같이 기재했습니다.

Internet or network address: <gitRepoServerNameOrIPAddress>
User Name: <DomainName\MyUserName>
Password: <MyPassword>

다음에 위의 주소에 설정된 저장소를 대상으로 Git 명령을 실행할 때 수동으로 캐시된 자격 증명이 사용됩니다.

주의:

  1. 열려 있는 Git bash, Powershell 또는 명령어셸을 닫은 후 재시작하여 credential 캐시를 활성화합니다.
  2. 앞으로는 도메인 계정 비밀번호가 변경될 때마다 이 화면에서도 비밀번호를 업데이트해야 합니다.기업 환경에서는 패스워드 순환 정책에 의해 정기적으로 발생합니다.

업데이트(2022년 6월 12일):Windows 자격 증명을 추가할 수 없는 경우 대신 시도할 수 있습니다(아래 스크린샷 참조).일반 자격 증명을 추가할 때 TFS 서버의 인터넷 또는 네트워크 주소는 다음과 같은 형식입니다.

git:https://YourTfsServerAddress

여기에 이미지 설명 입력

> > > > 에 합니다.Control Panel\User Accounts\Credential ManagerManage Windows CredentialsGit과 관련된 모든 일반 자격 증명을 제거합니다.(이렇게 하면 모든 자격 증명을 재설정할 수 있습니다.

이후 클론 작성 시 인증 오류 대신 Git 사용자 이름과 비밀번호를 새롭고 안전하게 묻습니다.

도움이 됐으면 좋겠다.

" " " username ★★★★★★★★★★★★★★★★★」password효과가 있었습니다.예를 들면요.

https://myUserName:myPassWord@myGitRepositoryAddress/myAuthentificationName/myRepository.git

, 「」를 됩니다.password ★★★★★★★★★★★★★★★★★」username알 수 없기 때문에 만, .personal_access_token 입력합니다.github은 패스워드 대신 github 계정을 합니다.

$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token

다음에 쉽게 수 - 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아.설정으로 이동
개발자 설정
Personal_access_token
하고 repo를 합니다.Generate token 토큰 생성
축하합니다!!
이제 단말기가 비밀번호를 요구하면 복사하여 붙여넣습니다.

NOTE: - Treat your tokens like passwords and keep them secret

인증 정보를 묻지 않는 경우 가장 간단한 방법은 인증 정보를 사용하여 복제하는 것입니다.여기에 이미지 설명 입력

옵션 B는 패스워드에 URL이 이상하게 취급되는 특수문자가 포함되어 있는 경우에 적합합니다.이 옵션은 암호를 묻습니다.

범인은 러시아 계정 비밀번호였다.

잘못 설정(키보드 레이아웃이 잘못됨).모든 것이 잘 되고 있었기 때문에 굳이 바꾸지 않아도 되었다.

절망에서 이제는 그것을 바꾸었고 효과가 있었다.

만약 누군가가 이 스레드를 찾아봤지만 해결 방법이 아닌 경우 - 제가 질문한 질문과 절차 아래에 있는 코멘트를 확인해 주십시오.이러한 코멘트는 도움이 될 수 있습니다.

만약 누군가가 Azure DevOps에서 이 문제에 직면했을 경우, Git 자격 정보를 저장소에 추가하는 것만으로 수정은 매우 간단합니다.

여기에 이미지 설명 입력

  1. [컨트롤 패널]로 이동합니다.\모든 제어판 항목\크레덴셜 매니저를 선택하고 일반 자격 증명을 선택합니다.
  2. 회사 도메인 이름의 모든 자격 증명을 제거합니다.
  3. Git bash 단말기에서 Git 클론 저장소를 다시 한 번 생성하면 비밀번호와 사용자 이름을 요구할 것입니다.다시 삽입하면 됩니다!

Windows 10 머신에서도 같은 문제가 있었습니다.많은 솔루션을 시도했지만 최신 git 버전을 설치할 때까지 작동하지 않았습니다.https://git-scm.com/downloads 를 참조해 주세요.

알 수 자격 입니다.Manage Windows Credentials일을 하고 일을 한다.그러나 일부 작업에서 암호가 변경되거나 자격 증명이 작동하지 않을 때마다 이 작업을 수행해야 합니다.「」를 사용합니다.ssh key이 작업을 완료하면 다시 신경 쓸 필요가 없는 저에게 매우 유용하게 사용되었습니다.ssh-key기트허브/비트버킷/서브랩을 사용하세요.

새 ssh 키 생성

  1. Git Bash를 엽니다.

  2. 아래 텍스트를 repo의 이메일 주소로 대체하여 붙여넣습니다. $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

  3. 키를 저장할 파일을 입력하라는 메시지가 표시되면 Enter 키를 누릅니다.기본 파일 위치를 사용할 수 있습니다.

  4. 그런 다음 보안 암호를 입력하라는 메시지가 표시됩니다.암호를 입력하고 Enter 키를 누른 다음 암호를 다시 입력할 수 있습니다.

또는 빈 패스프레이즈를 입력하려면 Enter 키를 두 번 누릅니다.

  1. 클립보드에 복사:

    clip < ~/.clip/id_clip.pub

그리고 이 키를 당신의 리포 프로파일에 추가하세요.예를 들어 github-> setting-> 의 경우SSH 키 -> Add를 누른 광고의 키를 붙여넣습니다.

참고 자료: https://help.github.com/en/enterprise/2.15/user/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#generating-a-new-ssh-key

넌 완전히 끝장이야!

이 스레드나 다른 것들의 거의 모든 것을 시도해 본 후 구글에 계속 접속한 후, 결국 나에게 효과가 있었던 것은 명령줄을 통해 AD 사용자로서 Visual Studio를 시작하는 것뿐이었다.

cd C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE
runas /netonly /user:<comp\name.surname> devenv.exe

원호 : [1] : https://developercommunity.visualstudio.com/content/problem/304224/git-failed-with-a-fatal-errorauthentication-failed.html

AD 인증을 사용하는 사내/로컬 Devops 서버(클라우드 베이스가 아님)에 접속하고 있는 퍼스널 머신에 있는 경우입니다.TFS에서는 문제가 없었지만, git에서는 클론이 동작하지 않았습니다(Git은 치명적인 오류로 실패했습니다).그때까지 [url]) 인증에 실패했습니다.

새로 오신 분들을 위해서

상향 투표된 답변은 더 이상 답이 아닙니다.

remote: 패스워드 인증 지원은 2021년 8월 13일에 해제되었습니다.대신 개인 액세스 토큰을 사용하십시오.리모트:상세한 것에 대하여는, https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/참조해 주세요.

액세스 토큰 응답을 반복할 필요가 없습니다.이러한 응답을 따라가면 됩니다.

Bash/VS 코드를 사용하여 저장소를 클로닝할 때 "fatal:인증에 실패했습니다.기사 [https://learn.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops&tabs=current-page][1] bash 명령어 사용 후 오류가 발생하지 않았습니다!

패스워드를 이스케이프 하는 것이 아니라 패스워드를 생략하고 입력을 요구받았습니다만, 도메인명을 유저명 앞에 포함할 때만, 다음과 같이 됩니다.

git clone https://some-dom-name\firstname.lastname@tfs.somedomain.com/tfs/...

제 경우 오류가 오래된 사용자 이름과 비밀번호가 캐시에 저장되었습니다.

source Tree로 이동하여 기존 계정을 삭제했습니다.

새로운 클론의 경우 repo 비밀번호를 입력하도록 요구됩니다.여기에 이미지 설명 입력

하다 bash to path git bash로 git/mingw64/libexec/git-core다음 명령을 실행합니다.

./git-credential-manager clear

다음에 복제를 실행할 때 대화상자가 열리고 원하는 인증 정보 관리자가 열립니다.가 뽑았습니다.wincred(최적의 옵션인지 아닌지는 알 수 없습니다.다시 묻지 않도록 상자를 확인.을 사용하다

참고로 항상 ssh 키를 사용하여 인증하는 것이 좋습니다.https를 사용하여 체크아웃하지 마십시오.서버와 대화할 때마다 암호를 입력해야 하는 경우 암호를 입력하는 횟수가 줄어들고 코드를 병합하는 빈도도 줄어듭니다.더 많은 충돌이 일어날 것이다.

Sorucetree와 Gitbash를 통한 로그인은 프롬프트창에 credentails를 입력하여 실패했지만 GitHub Desktop 어플리케이션은 문제없이 작동하였습니다.

GitHub 데스크톱

나는 방금 이 문제가 있었다.가장 쉬운 방법은 Visual Studio에서 복제를 선택하는 것입니다.그러면 Visual Studio에서 자격 증명을 입력하라는 메시지가 표시됩니다.인증 정보를 입력한 후 경로를 설정합니다.그러면 리포지토리가 복제됩니다.

1) 위의 답변에 따라 윈도에서 모든 자격 정보를 삭제합니다.2 - 최신 git이 있는지 확인합니다.git이 최신 버전으로 업데이트되지 않으면 이 오류도 발생합니다.

3 - 위의 단계를 완료하면 됩니다.단순히 클론만 생성하면 자격 정보가 요구되어 동작합니다.

이동처:

제어판 -> 사용자 계정 -> 자격 정보 관리자 -> Windows 자격 정보 -> 일반 자격 정보 >> 특정 URL용으로 저장된 오래된 자격 정보 삭제

그런 다음 저장소를 새로 복제하면 자격 증명을 묻는 메시지가 표시됩니다.

Gitlab을 사용하고 있다면 어떤 이유로든 http를 사용한 git clone은 동작하지 않습니다.ssh를 사용하는 Git 클론이 유일한 옵션입니다.

git clone git@gitlab.example.com:demo.git

언급URL : https://stackoverflow.com/questions/51424051/git-clone-authentication-failed-for-url

반응형