힘내 계속 암호를 묻는 메시지


665

나는 지금 잠시 동안 Git을 사용하고 있었지만 암호에 대한 끊임없는 요청으로 나를 벽으로 몰아 넣고 있습니다.

Mac OS X 및 GitHub를 사용하고 있으며 GitHub의 Set Up Git 페이지에 따라 Git 및 SSH 키를 설정했습니다 .

또한 GitHub의 SSH 키 비밀번호 문구 페이지 에 언급 된대로 github SSH 키를 Mac OS X 키 체인에 추가했습니다 . 내 공개 키는 Git에 등록되어 있습니다.

그럼에도 불구하고 Git pull을 시도 할 때마다 사용자 이름과 비밀번호를 입력해야합니다. 이것을 설정해야 할 SSH 키 이외의 것이 있습니까?


1
바보 같은 질문이지만 git을 사용하여 시스템에 ssh를 사용할 때 SSH 키가 작동하는지 확인 했습니까?
Kurt Stutsman

4
ssh -T git@github.com과 같은 의미입니까? 그래, 그것은 잘 작동합니다 (약간 느린 경우).
캐서린


https url의 경우 git 자격 증명 도우미 ' netrc'를 (git1.8.3 이상으로) 사용할 수 있습니다 . 여기 에서 전체 예를보십시오 .
VonC

Windows 사용자이고 공개 키를 서버의 authorized_keys 파일에 추가 한 후에도 비밀번호 요청 문제에 직면했습니다. 실제로 문제는 공개 / 개인 키를 c : \ program files \ git 폴더의 .ssh 폴더에 보관하지 않았다는 것입니다. 누군가 그러한 문제에 직면하고 있다면이 폴더에 키를 복사하고 밀거나 당기십시오.
Raja Amer Khan

답변:


797

Git 리포지토리 URL이 잘못되었을 수 있습니다.

.git/config[원격 "원점"] 섹션을 열고 찾으십시오. SSH를 사용하고 있는지 확인하십시오.

ssh://git@github.com/username/repo.git

복제 또는 다운로드 를 클릭 하고 ssh를 선택 하면 저장소의 기본 페이지에서 SSH URL을 볼 수 있습니다 .

아니라 httpsgit하나

https://github.com/username/repo.git
git://github.com/username/repo.git

이제 사용자 이름과 비밀번호 대신 SSH 키 만으로 유효성을 검사 할 수 있습니다 .

망할 놈의 그 불평하는 경우 'origin' has already been added, 열린 .config파일을 편집 url = "..."한 후 일부 [remote origin]등을url = ssh://github/username/repo.git


다른 서비스도 마찬가지입니다. 주소가 다음과 같은지 확인하십시오.protocol://something@url

.git/config를위한 푸른 개발 운영 :

[remote "origin"]
    url = https://mystore@dev.azure.com/mystore/myproject/
    fetch = +refs/heads/*:refs/remotes/origin/*

4
그럴 수도 있습니다. git remote -v를 호출하면 다음과 같이 나타납니다. origin github.com/Foo/Bar.git (fetch) origin github.com/Foo/Bar.git (push) 반면 SSH를 사용하려면 다음과 같이 보입니다. origin git @ github.com : Foo / Bar.git (fetch) origin git@github.com : Foo / Bar.git (푸시) 이것은 원래 GitHub의 Mac 응용 프로그램 ( mac.github.com )을 사용하여 프로젝트를 체크 아웃했기 때문일 수 있습니다 . 어떻게 해결할 수 있습니까?
Catherine

8
.git / config 파일에서 URL을 수정하거나 git-remote를 사용하여 수정하거나 로컬 리포지를 삭제하고 올바른 URL로 다시 복제하십시오.
static_rtti

91
열린 .git / 설정을하고있는 : 그냥 (내가 그것을 필요에 따라)이 밖으로 철자 [remote "origin"]섹션 세트 url = ssh://git@github.com/username/Repo.git. 그것은 나를 위해 일했다.
Greg K

13
이상하게도 @GregK의 솔루션은 효과가 url = git@github.com:organization/Repo.git없었지만 효과가있었습니다. 그래도 올바른 길로 인도합니다 +1! 성공!
jmort253

3
ssh : // git @ github / [username] / [reponame]을 사용하여 CLONE을 사용하는 것이 얼마나 중요한지 충분히 강조 할 수 없습니다 .git은 매번 사용자 이름과 비밀번호를 입력하지 않아도 GIT에 액세스하기 위해 키를 사용하고 싶습니다 . 로컬 리포지토리를 제거하고 다시 복제하는 것이 유일한 방법이라는 것을 알았습니다. $ git clone ssh : // git @ github / [username] / [reponame] .git
Gene Myers

555

credential.helper 구성

OS X (현재 macOS)의 경우 터미널 에서이를 실행하십시오. .

git config --global credential.helper osxkeychain

Git은 Keychain.app 파일을 사용하여 사용자 이름과 비밀번호를 저장하고 키 체인에서 개인 SSH 키의 암호를 검색 할 수 있습니다.

Windows 용 :

git config --global credential.helper wincred

문제 해결

Git 자격 증명 도우미가 올바르게 구성된 경우 macOS는 암호를 키 체인에 저장합니다. 때때로 SSH와 키 체인에 저장된 암호 사이연결 이 끊어 질 수 있습니다. 실행 ssh-add -K또는ssh-add ~/.ssh/id_rsa키 체인에 키를 다시 추가 하십시오.

macOS v10.12 (Sierra)가 ssh로 변경됨

macOS v10.12 (Sierra)의 경우, ssh-add -K재부팅 할 때마다 실행해야합니다. 이를 피하려면 ~/.ssh/config이 컨텐츠로 작성 하십시오.

Host *
   AddKeysToAgent yes
   UseKeychain yes
   IdentityFile ~/.ssh/id_rsa

ssh_config man10.12.2 의 페이지에서 :

키 체인 사용

macOS에서는 특정 키를 사용하려고 할 때 시스템이 사용자 키 체인에서 암호를 검색해야하는지 여부를 지정합니다. 사용자가 암호를 제공 할 때이 옵션은 암호가 올바른 것으로 확인되면 암호를 키 체인에 저장해야하는지 여부도 지정합니다. 인수는 'yes'또는 'no'여야합니다. 기본값은 '아니오'입니다.

Apple은 Technote 2449 를 추가하여 무슨 일이 있었는지 설명합니다.

macOS Sierra 이전에는 ssh암호 문구를 묻는 대화 상자가 표시되었으며이를 키 체인에 저장할 수있는 옵션을 제공했습니다. 이 UI는 얼마 전에 사용되지 않아 제거되었습니다.


30
OSX 용 Github 애플리케이션 (Windows 일 수도 있음)이 기본적으로 git repos에 https 경로를 사용하기 때문에 이것이 가장 좋은 방법입니다. 많은 회사 네트워크 는 보안상의 이유로 포트 80443의 트래픽 만 허용하기 때문에 ssh / git 대신 https를 사용해야하는 좋은 이유가 있습니다 .
codehugger

2
자격 증명 도우미를 사용하려면 git 1.7.10 이상이 필요합니다.
jbandi

3
keychain.app 솔루션의 경우 +1 이다 GREAT 내 고용주의 자식 서버는 HTTP 아파치를 통해 제공 지원하고 그들이 강력하게 사용 억제하기 때문에 저를 위해 .netrc일반 텍스트로 비밀번호를두고 파일 방법을.
Josh

3
'credential-osxkeychain' is not a git command.자격 증명 도우미가 설치되어 있지 않아 오류가 발생 했습니다. 여기에 설치 지침을 따르십시오. help.github.com/articles/set-up-git#password-caching
Hugh

2
Sierra 업데이트에 감사드립니다. 방금 업데이트하여 디렉토리에 git config --global credential.helper osxkeychainconfig 파일을 추가했을 때 왜 github이 pw를 계속 요청했는지 알 수 없었 .ssh습니다.
pixel 67

139

macOS v10.12 (Sierra)로 업그레이드 할 때 이런 일이 발생했습니다. 업그레이드시 SSH 에이전트가 지워진 것 같습니다.

$ ssh-add -L
The agent has no identities.

ssh-add기존의 신분을 찾은 것만으로도 나는 암호를 입력했고 다시 가기에 좋았다.


9
Sierra 업그레이드로 인해 +1이 중단되었습니다. 암호는 Mac 사용자 암호가 아니라 SSH 키의 암호입니다.
mbonness

1
ssh-add를 수행하면 작동하지만 터미널 창을 닫으면 재설정 된 것으로 나타납니다. 아마도 이것은 새로운 "기능"일 것입니다.
joshd

헤즈 업-이것은 또 다른 Sierra 업데이트 (10.12.2)에서 다시 발생했지만 동일한 수정이 적용됩니다.
Brian

터미널을 닫은 후에 재설정하지 않는 방법을 아는 사람이 있습니까?
nickjwallin

1
방금 내 맥북 프로를 10.12.2로 업데이트했는데 내 자식이 깨졌습니다. ssh-add를 사용하면 완전히 효과가있었습니다. 감사합니다 @amcc!
jimmyplaysdrums

68

이것을 사용하십시오 : github.com을 적절한 호스트 이름으로 바꾸십시오.

git remote set-url origin git@github.com:user/repo.git

나는 볼 때 이미 그 세트를 가지고 있습니다 git remote -v. 그러나 여전히 암호를 묻는 메시지가 나타납니다.
IgorGanapolsky

마찬가지로, 나는 그가 제안한대로 설정했지만 여전히 암호를 묻는 메시지가 나타납니다. 어떻게 방지합니까?
cyber8200

@IgorGanapolsky : 당신은 당신을위한 해결책을 찾은 적이 있습니까?
cyber8200

1
이것은 제대로 작동합니다. 원격 URL이 git@**자격 증명 을 요구 하지 않고 URL https@**이 :) 인 것은 이상합니다 . 따라서 나는 이 문서를 찾았다 .
Sujit Kumar Singh

54

다른 사람들이 말했듯이 암호 캐시 도우미를 설치할 수 있습니다. 나는 주로 Mac뿐만 아니라 다른 플랫폼에 대한 링크를 게시하고 싶었습니다. Linux 서버를 실행 중이며 도움이되었습니다. Git에서 GitHub 비밀번호 캐싱

Mac의 경우 :

git credential-osxkeychain

윈도우 :

git config --global credential.helper wincred

리눅스 :

git config --global credential.helper cache
git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)

5
Linux 명령어를 보려면 세 번째 답변으로 스크롤해야했습니다. 일반적으로 참조되는 문제이므로 기본 답변이어야합니다.
KoldBane

22

또한 암호를 요구하는 사람을 찾으십시오. Git 또는 SSH 에이전트입니까?

내 경우에는 내가 할 때마다 git pull나에게 묻는 것이었다.

Enter passphrase for key '/work/username/.ssh/id_rsa':

그래서 Git이 암호를 요구한다고 가정했습니다. 그래서 나중에 SSH 에이전트가 종료되었다는 것을 깨닫기 위해 솔루션을 계속 찾고있었습니다. 어떤 사용하여 고정 할 수 있습니다 eval $(ssh-agent)ssh-add같은 주어진 여기.

또한 ~/.bashrc로그인시 SSH 에이전트가 시작되도록 파일 (또는 이에 상응하는 파일)에 추가 할 수있는 작은 스 니펫 아래에 붙여 넣습니다 .

어쨌든 이것은 내가 만든 바보 같은 실수 였지만 여기에 게시하면 누군가처럼 내가 잘못된 나무를 짖는 데 시간을 절약 할 수 있습니다.

# Start the ssh-agent
function start_agent {
    echo "Initializing new SSH agent..."

    # Spawn ssh-agent
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
    echo succeeded
    chmod 600 ${SSH_ENV}
    . ${SSH_ENV} > /dev/null
    /usr/bin/ssh-add
}

if [ -f "${SSH_ENV}" ]; then
     . ${SSH_ENV} > /dev/null
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
        start_agent;
    }
else
    start_agent;
fi


예쁜 당신이 위의 코드에 줄을 누락 -에 따라 stackoverflow.com/a/18915067/277023 당신은 할 필요가SSH_ENV="$HOME/.ssh/environment"
kellyfj

20
git config credential.helper store

참고 :이 방법은 편리하지만 Git은 프로젝트 디렉토리 아래의 로컬 파일 (.git-credentials)에 자격 증명을 일반 텍스트로 저장합니다 ( "home"디렉토리는 아래 참조). 마음에 들지 않으면이 파일을 삭제하고 캐시 옵션 사용으로 전환하십시오.

원격 저장소에 연결해야 할 때마다 Git이 자격 증명을 다시 요청하도록하려면 다음 명령을 실행할 수 있습니다.

git config --unset credential.helper

프로젝트 디렉토리가 아닌 % HOME % 디렉토리의 .git-credentials에 비밀번호를 저장하려면 --global 플래그를 사용하십시오.

git config --global credential.helper store

9

푸시 및 풀에 SSH를 사용하여 Windows에서 GitHub에 대한 안내서 : Windows에서 Git에 대한 설명 안내서

  1. PuTTY 다운로드 및 설치
  2. 환경 변수 'GIT_SSH'= 'path \ to \ plink.exe'(설치된 퍼티 폴더에 있음) 설정- 매우 중요합니다 !!!
  3. 환경 변수를 적용하려면 Windows 탐색기 다시 시작하십시오 (명령 프롬프트를 다시 시작할뿐만 아니라).
  4. puttygen.exe를 실행하여 새 키를 생성하고 공개 키를 GitHub 사이트에 복사
  5. 이 새 개인 키를 디스크의 안전한 곳에 보관하십시오 ( Dropbox가 아닌 것이 좋습니다 )
  6. putty.exe를 실행하고 SSH를 github.co에 연결하십시오
  7. "shell : startup"을 실행하여 시작 폴더로 빠르게 이동하십시오.
  8. Pageant를 통해 Windows에서 개인 키를 시작하십시오. "path \ to \ pageant.exe"구문 "path \ to \ privatekey"를 사용하여 시작 폴더에 바로 가기를 만듭니다.
  9. 리포지토리의 .git / config 내에 'puttykeyfile'설정을 설정할 필요가 없습니다.
  10. GitHub의 "SSH 복제 URL"이 HTTPS가 아닌 사용되는 것이 매우 중요 합니다.

더 이상 퍼티를 사용해서는 안됩니다. 기본 제공 Windows 10 유틸리티를 사용하여 모든 작업을 수행 할 수 있습니다. 퍼티하자, 그냥 퍼티하자.
이언 스미스

9

Git 1.7.9+ 용 Windows의 경우 명령 프롬프트에서 다음 명령을 실행하여 텍스트 편집기에서 구성 파일을여십시오.

    git config --global --edit

그런 다음 파일에 다음 블록이 없으면 추가하거나 적절하게 편집하십시오.

    [credential "https://giturl.com"]
        username = <user id>
         helper = wincred

파일을 저장하고 닫습니다. 위 변경 후 자격 증명을 한 번만 제공해야합니다.


이 완벽하게 작동, 당신은 내 시간을 절약 이제는 내 일에 집중할 수 있습니다, 고마워요 형제.
모하메드 수피아

9

다음 명령을 사용하여 시간 초과 기간을 늘리면 잠시 동안 비밀번호를 다시 입력 할 수 있습니다

git config --global credential.helper 'cache --timeout 3600'

Bitbucket과 GitHub에 사용했으며 둘 다 작동합니다. 당신이해야 할 유일한 것은 3600초입니다. 원하는만큼 늘리십시오. 259200약 30 일로 변경했습니다 . 이런 식으로 30 일마다 암호를 다시 입력합니다.


1
좋아, 나는 이것이 다시 시작한 후에도 지속되지 않는 것을 발견했습니다, 그래서 당신은 여전히 ​​타임 아웃에 관계없이 다시 시작한 후에 암호를 입력해야합니다 ...
Ben Winding

이것은 캐시에서 만드는 좋은 방법입니다 :) 적어도 내 시간을 절약했습니다. 감사합니다
ChikuMiku

@BenWinding은 자격 증명을 메모리에 저장하기 때문에.
z3dd

5

나는 당신이 당신의 문제를 해결했다고 생각하지만, 여기에 도움이 된 해결책을 찾지 못했습니다.

터미널에 입력하십시오 :

echo "" > ~/.ssh/known_hosts

known_hosts파일 이 비워 지고 사용하고 연결된 모든 호스트를 추가해야하지만 문제가 해결되었습니다.


1
cat /dev/null > ~/.ssh/known_hosts똑같이 할 것입니다.
Tin Man

5
> ~/.ssh/known_hosts더 짧은 :)
Collin Allen

rm ~ / .ssh / known_hosts도 작업을 수행해야합니다. 나는 이것에 대해 조언 할 것입니다.
orkoden

3
~ / .ssh / known_hosts에서 호스트를 제거해야하는 경우 파일을 지우는 것보다 덜 영향을주는 방법이 있습니다. ~ / .ssh / known_hosts는 텍스트 파일 일 뿐이며 파일에서 문제가있는 호스트를 찾을 수있는 경우 해당 행을 삭제하면됩니다. 파일을 편집하기 전에 백업 할 수 있습니다. 파일에 몇 개의 항목 만있는 경우 지우는 것이 나쁘지 않을 수 있습니다. 나는 많은 서버에서 작업하므로 ~ / .ssh / known_hosts에는 수백 개의 항목이 있으며 일부 항목을 제거하기 위해 모두 삭제할 준비가되어 있지 않습니다.
Tim Stewart

3
@papan 이것은 git이 내 비밀번호를 요구하는 것을 막지 않습니다!
IgorGanapolsky

5

static_rtti가 제공 한 답변이 어떤 의미에서 해킹 된 것처럼 느낍니다. 이것이 이전에 사용 가능한지 모르겠지만 이제 Git 도구는 자격 증명 저장소를 제공합니다.

캐시 모드

$ git config --global credential.helper cache

“캐시”모드를 사용하여 특정 기간 동안 자격 증명을 메모리에 유지하십시오. 암호는 디스크에 저장되지 않으며 15 분 후에 캐시에서 제거됩니다.

저장 모드

$ git config --global credential.helper 'store --file ~/.my-credentials'

"저장"모드를 사용하여 자격 증명을 디스크의 일반 텍스트 파일에 저장하면 만료되지 않습니다.

개인적으로 저장 모드를 사용했습니다 . 저장소를 삭제하고 복제 한 다음 자격 증명을 한 번 입력해야했습니다.

참조 : 7.14 Git 도구-자격 증명 저장소


Windows의 경우 credential.helper cache작동하지 않습니다. 이어야합니다 git config --global credential.helper wincred.
Paulo Merson

그것을 저장하면 이제 암호를 묻지 않고 변경 사항을 커밋 할 수 있습니다. 당신은 생명의 인입니다!
g4ost

리눅스에서 이것은 나를 위해 일했다 git config --local credential.helper store. 제 경우에는 HTTPS를 사용하고 있습니다. 이런 식으로 사용자 이름 / 암호를 한 번만 입력하면 그 후 내 자격 증명은 ~ / .git-credentials
CCarlos

3

터미널에서 Git과 함께 키 체인을 사용하는 것에 대한 orkoden의 답변이 불완전하고 오류가 발생합니다. 키 체인의 터미널에 입력 한 사용자 이름과 비밀번호를 저장하려면 다음과 같이하십시오.

curl http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain -o git-credential-osxkeychain
sudo mv git-credential-osxkeychain /usr/local/bin
sudo chmod u+x /usr/local/bin/git-credential-osxkeychain

그런 다음 입력

git config --global credential.helper osxkeychain

컬을 만들기 전에 Git 구성으로 부품을 이미 수행 한 경우 아무런 문제가 없습니다. 작동합니다.


1
내가 리눅스에 있다면?
IgorGanapolsky

3

static_rtti가 위에서 말했듯이 변경하십시오.

https://github.com/username/repo.git
git://github.com/username/repo.git

ssh://git@github.com/username/repo.git

나는 나 자신을 변화 https에 .git / config 파일에 ssh있지만 여전히 작동하지 않았다. 그런 다음로 변경 해야 한다는 것을 알았 github.com습니다 git@github.com. 실제 올바른 URL을 얻는 좋은 방법은 프로젝트 페이지로 이동하여 다음을 클릭하는 것입니다.

올바른 URL을 얻으려면 HTTPS를 SSH로 변경

그런 다음이 URL을 구성 파일에 추가하십시오.


구성 설정 파일에 이미 확인해야 할 것이 있습니까?
cyber8200

github.com에서도 변경 했습니까?
CheesusCrust

3

Linux 용 Windows 서브 시스템 (WSL)에서 이것이 내가 찾은 유일한 솔루션이었습니다.

eval `ssh-agent` ; ssh-add ~/.ssh/id_rsa

ssh-agent가 WSL에 제대로 등록되지 않은 문제입니다.


문제가되었지만 이것이 내 문제를 해결 한 것입니다.
Nam Kim

3

당신이 할 경우 항상 질문에서 힘내을 중지 하여 GitHub에의 로그인 자격 증명을이 쉽게 할 수있는 리포지토리.

HTTPS 대신 SSH 사용

HTTPS 대신 SSH를 사용하여 원본 원격을 업데이트 할 수 있습니다 "

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

비밀번호와 사용자 이름을 저장하도록 Git 구성

Git에 사용자 이름과 비밀번호를 저장하는 방법은 다음과 같습니다.

git config --global credential.helper store

그런 다음 세션의 사용자 이름과 비밀번호를 저장하십시오.

git config --global credential.helper cache

2

나는 "codehugger"에 동의하고 "orkoden"의 명령을 사용하여 NetBeans 7.3에서 나를 위해 일했습니다. 파일을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴를 선택하면-푸시- '원격으로 푸시'창이 열렸습니다. 여기 옵션 :

  1. origin:https://github.com/myaccount/myproject.git/

  2. https://github.com/myaccount/myproject.git/

보시다시피, 차이점은 URL의 origin 매개 변수입니다.이 옵션 (1)을 선택하지 않으려는 옵션 (2)를 선택하면 나에게 잘 작동합니다.


2

1 단계 : 현재 구성 확인

cat .git/config

당신은 얻을 것이다 :

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    url = https://github.com/path_to_your_git.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[user]
    name = your_username
    email = your_email
[branch "master-staging"]
    remote = origin
    merge = refs/heads/master-staging

2 단계 : 원격 원점 제거

git remote rm origin

3 단계 : 사용자 이름과 비밀번호로 원격 원점을 다시 추가

git remote add origin https://your_git_username:your_git_password@github.com/path_to_your_git.git

원격 원점을 다시 추가 한 후에는 다음과 같이 분기를 원격 및 로컬로 정렬해야합니다. git branch --set-upstream master origin/master
Richard Bown

2

Git에서 GitHub와 상호 작용할 때마다 사용자 이름과 비밀번호를 묻는 메시지가 표시되면 리포지토리에 HTTPS 복제 URL을 사용하는 것입니다.

HTTPS 원격 URL을 사용하면 몇 가지 장점이 있습니다. SSH보다 설정이 쉽고 일반적으로 엄격한 방화벽과 프록시를 통해 작동합니다. 그러나 리포지토리를 가져 오거나 누를 때마다 GitHub 자격 증명을 입력하라는 메시지가 표시됩니다.

비밀번호를 저장하도록 Git을 구성 할 수 있습니다. Windows의 경우 :

git config --global credential.helper wincred

2

macOS Cataline 10.15를 실행하면 키 체인 캐싱 방법이 작동하지 않았습니다. 그리고 나는 사용 https://하지 않고 싶었다.ssh

다음은 나를 위해 일한 것입니다.

git remote rm origin

git remote add origin https://your_git_username:your_git_password@github.com/path_to_your_git.git

이것은 GitLab에서도 작동합니다.

사용자 이름에 이메일 주소가 포함되어 있는지 확인하여 @email부품 을 제거하지 않으면 오류 메시지가 표시 URL using bad/illegal format or missing URL됩니다.

도움이 되었기를 바랍니다!


이것은 나를 위해 일한 유일한 솔루션입니다. your_git_username이 중요했습니다. 실제로 : your_git_password를 넣을 필요는 없습니다. 이 시점에서 여전히 "암호 구문"을 요청했지만 이제는 계정 비밀번호를 승인합니다.
kbulgrien

1

구성에 따라 다른 종류의 인증이 있습니다. 몇 가지가 있습니다 :

  1. git credential-osxkeychain.

    자격 증명이 유효하지 않은 경우 다음 방법으로 자격 증명을 제거하십시오.

      git credential-osxkeychain erase
    

    또는:

      printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain erase
    

    따라서 Git은 키 체인 허가를 다시 요구하지 않습니다. 그런 다음 다시 구성하십시오.

    참조 : GitHub 의 OS X 키 체인 에서 자격 증명 업데이트

  2. SSH RSA 키

    이를 위해 SSH 키를 추가 한 것과 비교하고 ssh-add -L/ ssh-add -l올바른 ID를 사용하고 있는지 확인하십시오 .

  3. HTTPS 인증 ( 프로토콜 https대신 사용 하는 경우 ssh).

    사용 ~/.netrc( %HOME%/_netrc예 : 자격 증명을 제공하는 Windows에서)

      machine stash1.mycompany.com
      login myusername
      password mypassword
    

자세히 알아보기 : 스택 오버플로에서 GitHub와 동기화


1

GitHub에서 키를 사용하기 전에 SSH 연결 테스트 학습서에서이 단계를 수행하십시오 .

$ ssh -T git@github.com
# Attempts to ssh to GitHub



0

Microsoft Stack 솔루션 (Windows 및 Azure DevOps)

먼저 .git/config파일을 열어서 주소가 다음과 같은지 확인하십시오.

protocol://something@url

예 : Azure DevOps 용 .git / config :

[remote "origin"]
    url = https://mystore@dev.azure.com/mystore/myproject/
    fetch = +refs/heads/*:refs/remotes/origin/*

문제가 지속되면 열려있는 창을 자격 증명 관리자는 ,라는 safebox 클릭 Windows 자격 증명 하고 모든 자식 관련 자격 을 제거하십시오.

이제 다음에 git에 로그인하면 더 이상 사라지지 않습니다.


0

SSH 에이전트를 설정 한 경우이를 추가하여 ~/.gitconfiggit이 HTTPS가 아닌 모든 GitHub 저장소에 SSH를 사용하도록 할 수 있습니다 .

[url "ssh://git@github.com/"]
    insteadOf = git://github.com/
    insteadOf = https://github.com/

(대부분 의 공용 저장소로 작업하는 경우 공용 저장소에서 읽기는 인증없이 수행 할 수 있으므로) pushInsteadOf대신 사용할 수도 있습니다 insteadOf.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.