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.