GitHub : 유효하지 않은 사용자 이름 또는 비밀번호


402

GitHub에서 호스팅되는 프로젝트가 있습니다. 마스터에서 수정 사항을 푸시하려고 할 때 실패합니다. 항상 다음과 같은 오류 메시지가 나타납니다.

Password for 'https://git@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://git@github.com/eurydyce/MDANSE.git/'

그러나 내 ssh 키를 github으로 설정해도 괜찮습니다. 사실, 나는 할 때 ssh -T git@github.comI get 및을

Hi eurydyce! You've successfully authenticated, but GitHub does not provide shell access.

어느 쪽이든 괜찮습니다 (eurydyce는 내 github 사용자 이름 임). 나는 github에 제공된 지침과 많은 스택 토론의 권장 사항을 엄격히 따르지 만 방법은 없습니다. 내가 뭘 잘못했는지 알겠 니?


"올바른"(검사 요소로 검사) 암호로 여러 번 시도한 후 github 설정에서 암호를 변경 하여이 오류 메시지를 해결했기 때문에 대답을 게시 해야하는지 확실하지 않습니다 (높은 확률로 다운 투표).
— 과일

답변:


274

https : //git@github.com/eurydyce/MDANSE.git 은 ssh URL이 아니며 https URL입니다 ( ' git' 대신 GitHub 계정 이름이 필요함 ).

사용 ssh://git@github.com:eurydyce/MDANSE.git하거나git@github.com:eurydyce/MDANSE.git

git remote set-url origin git@github.com:eurydyce/MDANSE.git

OP 페예 그리니 에릭 추가합니다 :

이것이 ~/.gitconfig현재 다음 항목을 포함하는 파일에서 수행 한 작업입니다.[remote "origin"] url=git@github.com:eurydyce/MDANSE.git

이것은 전역 구성 (에있는 구성)에 없어야합니다 ~/. repo에서
확인할 수 git config -l있습니다 : 해당 URL은 로컬 구성 에서 선언해야합니다 : <yourrepo>/.git/config.

따라서 git remote set-url명령을 수행 할 때 repo 경로에 있는지 확인하십시오 .


Oliver 의 답변 에서 언급했듯이 2 단계 인증 (2FA) 이 활성화 된 경우 HTTPS URL은 사용자 이름 / 암호를 사용하지 않습니다 .

이 경우 비밀번호는 " 명령 줄에서 토큰 사용 "에 표시된대로 PAT (개인 액세스 토큰) 여야합니다 .

이는 HTTPS URL에만 적용되며 SSH는이 제한의 영향을받지 않습니다.


웁스! 내 로컬 구성에서 이러한 변경을 수행하면 모든 것이 제대로 작동합니다. 고마워
— Eurydice

78
이 답변을 전혀 이해하지 마십시오
— Cloud

1
@Clo, 명확하지 않은 부분은 무엇입니까?이 답변을 어떻게 개선 할 수 있습니까?
— VonC

https 클론 링크가 있었는데 작동하지 않았습니다. 그러나 나는 git @ url로 바꾸었고 작동하기 시작했다. 그 이유는 무엇입니까? Mac 키 체인에서도 github 항목을 제거했습니다. 관련이있을 수 있습니까? 그러나 키를 구성하여 ssh를 통해 사용했습니다. 모든 포인터가 도움이 될 것입니다.
— cg

1
@byronaltice SSH 인 경우 항목이있는 ~/.ssh/config또는 %USERPROFILE%\.ssh\config파일 이 있음을 의미 github.com합니다.
— VonC

1011

두 요소 인증 (2FA)을 사용하도록 설정하면 사용하려고 할 때이 같은 것을 볼 수 있습니다 git clone, git fetch, git pull또는 git push:

$ git push origin master
Username for 'https://github.com': your_user_name
Password for 'https://your_user_name@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/your_user_name/repo_name.git/'

왜 이런 일이 일어나는가

로부터 GitHub의 도움말 문서 :

2FA가 활성화되면 2FA 코드와 GitHub 비밀번호 대신 개인 액세스 토큰을 입력해야합니다.

...

이 같은 명령을 사용하여 명령 행에서 힘내를 사용하여 저장소에 액세스 할 때 예를 들어, git clone, git fetch, git pull또는 git pushHTTPS URL을, 당신은 당신의 GitHub의 사용자 이름과 사용자 이름과 암호를 입력하라는 메시지가 표시되면 토큰 개인 액세스를 제공해야합니다. 명령 행 프롬프트는 비밀번호를 요청할 때 개인 액세스 토큰을 입력하도록 지정하지 않습니다.

고치는 방법

  1. 개인용 액세스 토큰 생성 . ( 명령 행에 대한 개인 액세스 토큰 작성에 대한 자세한 안내서 )
  2. 개인용 액세스 토큰을 복사하십시오.
  3. 시도한 명령을 다시 시도하고 비밀번호 대신 개인 액세스 토큰을 사용하십시오.

관련 질문 : https://stackoverflow.com/a/21374369/101662


14
쿠도 및 공감; 새로운 토큰 생성은 내가 필요한 것입니다. 또한; "복사 코드"에 추가 (잘못된) 문자가 포함되어있어 .... 20 [?] 자리의 임의의 키를 수동으로 입력해야했습니다.
— th3byrdm4n

7
의심되는 2 요소 인증을 추가 한 후 이것은 내 문제 였지만 이것에 대한 문서는 부족했습니다. 답변 해주셔서 감사합니다!
— Pogrindis

11
@BeauSmith : 우리가 일반적으로 허용하는 것보다 훨씬 실질적인 편집입니다. 기본적으로이 답변을 완전히 다시 작성했습니다. 대신 별도의 답변을 게시 하십시오 . 또한 누군가 기본적으로 전체 답변을 다시 쓰면 어떻게합니까?를 참조하십시오.
— Martijn Pieters

8
@Oliver가 결정을 롤백하거나 결정할 수 없도록하겠습니다. 여기에는 완벽한 건전한 주장이 있습니다
— Flexo

10
Editor here ...이 답변을 자신과 같이 올바른 것으로 표시 한 사람이이 페이지에 도착한 것보다 약간 다른 문제가 발생하는 것 같습니다. 이 솔루션을 찾는 다른 사람들이 찾을 수 있도록 호소합니다. 지역 사회를 위해 더 나은 것을 만들기 위해 노력합니다. 😀
— Beau Smith

86

솔루션 단계 :

  1. 제어판
  2. 자격 증명 관리자
  3. 창 신임 정보를 클릭하십시오.
  4. 일반 자격 증명 섹션에는 git url, 업데이트 사용자 이름 및 비밀번호가 있습니다.
  5. Git Bash를 다시 시작하고 복제 시도

4
회사 버전의 github (로컬 사용자 이름 / 비밀번호 사용) 에서이 문제가 발생했습니다. 이 솔루션은 그것을 고쳤습니다.
— mkennedy

새 창에서는 언어에서 "Windows 자격 증명"또는 이와 유사한 것을 검색 할 수 있습니다. 결과가 나타나고이 솔루션을 사용해 볼 수 있습니다.
— Charles Tempo

1
회사가 https를 사용해야하는 온-프레미스 github을위한 완벽한 솔루션
— avi.elkharrat

56

나처럼 방금 비밀번호를 업데이트 git push하고이 문제가 발생하면 매우 쉽게 해결할 수 있습니다.

Mac 사용자에게만 해당됩니다. GitHub에 대한 OSX 키 체인 액세스 항목을 삭제해야합니다. 다음 명령을 실행하여 터미널을 통해 수행 할 수 있습니다.

명령 줄을 통해 자격 증명 삭제

명령 줄을 통해 자격 증명 도우미를 사용하여 키 체인 항목을 직접 지울 수 있습니다.

이렇게하려면 다음 명령을 입력하십시오.

git credential-osxkeychain erase
host=github.com
protocol=https

# [Now Press Return]

성공하면 아무것도 인쇄되지 않습니다. 그것이 작동하는지 테스트하려면 GitHub에서 리포지토리를 복제하거나 내 경우처럼 이전 작업을 다시 실행하십시오 git push. 암호를 묻는 메시지가 표시되면 키 체인 항목이 삭제 된 것입니다.


2
Windows의 경우 : git credential-wincred erase host = github.com protocol = https
— Juan Uribe

BitBucket 저장소 에서이 문제가 발생했습니다. host=bitbucket.orgGitHub 대신 이 답변 은 나를 위해 수정했습니다.
— gutch

26

사용하는 경우 https://원격 저장소에 연결 URL을 다음 힘내 인증으로 SSH를 사용하지 않지만 대신 기본 인증을 통해 HTTPS를 시도 할 것이다. 일반적으로 예를 들어 사용자 이름없이 URL을 사용하면 https://github.com/username/repository.gitGit은 사용자 이름 (GitHub 사용자 이름)과 비밀번호를 모두 입력하라는 메시지를 표시합니다.

를 사용하는 경우 https://something@github.com/username/repository.gitGit이 인증에 사용할 사용자 이름을 사전 설정 한 것입니다 : something. 를 사용했기 때문에 https://git@github.comGit은 git물론 암호가 작동하지 않는 사용자 이름을 사용하여 로그인을 시도합니다 . 따라서 사용자 이름을 대신 사용해야 합니다 .

대안은 실제로 인증을 위해 SSH를 사용하는 것입니다. 그렇게하면 항상 암호를 입력하지 않아도됩니다. 이미 작동하는 것 같아서 사용해야합니다.

이를 위해서는 원격 URL을 변경해야하므로 Git은 SSH를 통해 연결해야한다는 것을 알고 있습니다. 형식은 다음과 같습니다 git@github.com:username/repository.. URL을 업데이트하려면 다음 명령을 사용하십시오.

git remote set-url origin git@github.com:username/repository

명령을 시도 할 때 다음 메시지가 표시 warning: remote.origin.url has multiple values됩니다. 이것은 ~ / .gitconfig 파일에 값이 포함 된 원격 태그가 이미 있기 때문일 수 있습니다 [remote "origin"] url=git@github.com:eurydyce/MDANSE.git.
— Eurydice

18

다시 지점으로 밀어 넣으십시오. 사용자 이름과 비밀번호를 다시 묻기 때문에 변경된 비밀번호를 입력 할 수 있습니다. 새 비밀번호가 캐시에 다시 저장됩니다.


4
왜 이것이 공감대인지 알 수 없습니다. 내 경우에는 자격 증명이 업데이트되었고 두 번째 git push는이 답변에서 알 수 있듯이 적절한 업데이트를 요청했습니다.
— Digital Trauma

확실하지 않습니다, 당신이 무슨 뜻인지, 그것은 새로운 자격 증명 실행을 요구하지 않습니다 git push origin master...
— Betlista

13

git pull시도하지 말고git pull origin master

암호를 변경했는데 첫 번째 명령에서 오류가 발생했습니다.

$ git pull
remote: Invalid username or password.
fatal: Authentication failed for ...

후 git pull origin master, 그것은 암호를 요구하고 스스로 업데이트하는 것처럼 보였습니다.


7

개인 액세스 토큰 을 생성 한 다음 비밀번호 대신 개인 액세스 토큰 을 사용하여 사용할 필요가 없습니다 .

빠른 수정은 원격 URL이 sshnot 을 가리 키도록 설정하는 것 https입니다.

이 작업을 수행 git remote set-url origin git@github.com:username/repository


5

bitbucket에서 앱을 복제하는 동안 이것을 얻었습니다.

Cloning into 'YourAppName'...
Password for 'https://youruser id': 
remote: Invalid username or password

나는 그것을 해결했다. 여기에서 사용자 ID의 비밀번호를 작성해야합니다

  1. 프로필 및 설정을 클릭하십시오 프로필 및 설정을 클릭하십시오

  2. 그런 다음 앱 비밀번호 생성 이름 비밀번호를 선택하고 해당 비밀번호를 터미널에 붙여 넣습니다. 앱 비밀번호 만들기


4

github에서 2 요소 인증을 비활성화하면 나에게 도움이되었습니다.

"이 질문에 대답하지 않습니다"라는 삭제 이유가있는 삭제 된 답변이 있습니다. 작동하면 질문에 대한 답변이라고 생각합니다 ...


이상하다. 나도 마찬가지였다. 방금 2 단계 인증을 사용 중지했으며 지금은 작동합니다. :)
— abhijeetps 2018 년

이것은 2020 년 6 월 현재 저에게 효과적이었습니다. 감사합니다!
— Gcamara14

4

나는했다 :

$git pull origin master

그런 다음 [Username] & [Password]를 요청했으며 현재 제대로 작동하는 것 같습니다.


이것은 나를 위해 일했습니다. fetch 대신 pull을 사용했지만 어쨌든 중요하지 않습니다. 멋있는!
— atereshkov

2

이 상황에서이 오류 메시지가 표시되는 경우 :

  • 기업가를 위해 github 사용
  • 자식 설정에서 credential.helper = wincred 사용
  • 당신의 사용 Windows 자격 증명 이 변경 최근을

그런 다음이 답변을보십시오 : https : //.com/a/39608906/521257

Windows는 자격 증명 관리자에 자격 증명을 저장하거나 지우거나 업데이트합니다.


1

비밀번호를 업데이트했기 때문에이 오류가 발생했을 수 있습니다. 따라서 터미널에서 먼저 키 체인에서 GitHub 자격 증명을 지우고 변경 사항을 리포지토리로 푸시하면 터미널에서 사용자 이름과 비밀번호를 묻습니다.


1

나는 같은 문제가 있었다. 그리고 클라이언트 앱의 repo 설정 에서 원격 지점의 경로를에서 https://github.com/YourName/RepoName로 변경하여 문제를 해결했습니다 git@github.com:YourName/RepoName.git.


1

나는 끊임없이이 문제에 부딪 치고있다. 실제 이름이 아닌 git --config user.name ""을 설정했는지 확인하십시오.


0

계정에서 2FA를 사용하도록 설정하고 싶을 수도 있으므로 ssh 키를 설정하면 Github에 작업을 푸시 할 때마다 Github 자격 증명을 입력 할 필요가 없습니다.

설명서 에서 모든 ssh 설정 단계를 찾을 수 있습니다 . 먼저 현재 ssh 키 (id_rsa.pub 등)가 없는지 확인하십시오.$ ls -al ~/.ssh


-1
  1. 제어판
  2. 자격 증명 관리자
  3. 옵션 웹 자격 증명 및 Windows 자격 증명 찾기
  4. 어느 쪽이든 github 자격 증명이 올바른 자격 증명으로 수정합니다.
  5. git bash의 새 인스턴스를 열면 git 명령을 수행 할 수 있어야합니다.

이것은 나를 위해 일했고, 나는 내 원격 저장소로 당기고 밀어 넣을 수있었습니다.



-3

이 솔루션은 저에게 효과적이었습니다.

  1. 제어판 열기
  2. 자격 증명 관리자로 이동
  3. 창 신임 정보를 클릭하십시오.
  4. 일반 자격 증명 섹션에는 git url, 업데이트 사용자 이름 및 비밀번호가 있습니다.
  5. Git Bash를 다시 시작하고 복제 시도

1
이 답변은 유용하지 않은 기존 답변을 복제합니다. 평판이 충분하면 (15, 나는 믿는다) 유용하다고 생각되는 답변에 투표 할 수 있습니다. 투표는이 중복 답변을 추가하는 것이 아니라 정답입니다.
— AdrianHHH
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.