'git push heroku master'가 여전히 인증을 요청합니다.


79

나는 실행했다 :

$ heroku login

하지만 푸시하려고 할 때 여전히 인증을 요청합니다.

$ git push heroku master
Username for 'https://git.heroku.com': <email>
Password for 'https://<email>@git.heroku.com':

그런 다음 경고 : Git을 사용하여 사용자 이름과 암호로 인증하지 마십시오.

heroku 로그인을 다시 실행하고 성공적으로 인증했지만 여전히 동일한 실패가 발생합니다.

리모컨을 확인했습니다.

$ git remote -v
heroku https://git@heroku.com/appname.git (fetch)
heroku https://git@heroku.com/appname.git (push)

또한 새 공개 키를 생성하여 Heroku에 전달하고 유효성을 검사했습니다 : https://devcenter.heroku.com/articles/keys

Git 1.9.5를 사용하는 Windows 8을 사용 중입니다.


SSH 구성은 어떻게 보입니까? 호스트 항목을 추가 했습니까?
drRobertz

1
여기에 답변 된대로 구성 파일의 문제를 수정했습니다. stackoverflow.com/questions/16721428/… : /
Rea G

내 의견은 소수의 사람들에게만 도움이 될 수 있지만 계정 이름 (Windows 계정)이 ASCII가 아닌 경우에도이 오류가 발생하는 것으로 나타났습니다. 이 의견이 누군가를 도울 수 있기를 바랍니다!
James

답변:


186

다음과 같이 로그인하여이 문제를 해결했습니다.

username : heroku에 등록하는 데 사용 된 이메일 (이 필드를 비워 둘 수 있음 )

비밀번호 : heroku 인증 토큰 ( API 키 )

$ heroku auth:tokenHeroku의 계정 설정을 통해 인증 토큰을 검색 할 수 있습니다.


7
공백으로-실제로 사용자 이름에 '공백'을 의미합니다.
Jody Fitzpatrick 2015

14
글쎄, "아무것도"를 시도하면 잘못된 항목이 표시됩니다. "공백"을 입력하면 작동했습니다. 이것은 Windows 시스템에 있습니다.
Jody Fitzpatrick 2015

@NunoFurtado 그러나 여기 대답에 내 문제를 대답했습니다 stackoverflow.com/questions/16721428/...
정말이에요 G

4
나를 위해 일했습니다! dashboard.heroku.com/account- > API Key
dmikam

8
이것은 나에게 전혀 의미가 없지만 실제로 작동했습니다. 마법.
서식지

29

나는 같은 문제가 있었다 (git는 인증 할 수 없었다). GIT가 % HOME % / _ netrc 파일에서 인증 데이터를 읽으려고하는데 Windows에서는이 변수가 없습니다 (% USERPROFILE % 및 % HOMEDRIVE % + % HOMEPATH %).

나는 HOME을 % USERPROFILE % (heroku가 _netrc 파일을 저장 한 장소)로 설정하고 GIT가 작동하기 시작했습니다.


당신은 어디에서 얻 %USERPROFILE%습니까? 나는 또한 %HOME%절대 경로 로 설정하려고 시도 했지만 내가 얻는 것은 추적되지 않은 _netrc파일 뿐입니다 . 나를 위해 작동하지 않습니다.
MR5

내가하고 있어요 HOME=c:\users\razor그리고 _netrc 파일의 장소 c:\users\razor\_netrcHeroku가 생성
면도칼

18

먼저 _netrcheroku에서 만든 파일을 찾습니다 . 창에서는에서 찾을 수 있습니다 C:\Users\User Name\_netrc.

해당 파일에는 다음에 대한 자격 증명이 포함되어 있습니다. git.heroku.com

machine git.heroku.com
     login abcd123@gmail.com
     password xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

$ git push heroku master명령 후 인증을 요청할 때 해당 로그인 및 암호를 사용하십시오.


좋은! 감사합니다!
Nikita

매력처럼 작동합니다.
skidadon

14

보내는 사람 에게 Heroku 문서

다음 명령을 입력하십시오.

# Enable SSH authentication
$ heroku create --ssh-git

# Redirect tall HTTPS calls to SSH
$ git config --global url.ssh://git@heroku.com/.insteadOf https://git.heroku.com/

12

사용자 이름 : Heroku에 등록 할 때 사용한 이메일
비밀번호 : Heroku 웹 사이트의 계정 설정에서 Heroku가 제공하는 API 키

이것은 나를 위해 일했습니다.


1
여기 https://dashboard.heroku.com/account . 화면을 아래로 내리고 공개 버튼을 누르세요. 감사합니다 @Sarah
Raziza O

8

나는 똑같은 문제가 있습니다. 제 경우에는 Git bash 대신 실수로 창 콘솔을 사용했습니다.


하나의 경고 뒤에 어떻게 많은 이유가있을 수 있는지 보여줍니다.
정말이에요 G

사실은 내가 ... 내가 창문을 cmd를 사용하는 생각이이 문제를 일으킬 수있는 방법을 참조 해달라고
앤디 맥 컬러

ffs, Git bash를 사용해야합니까?
Radu

Git bash를 사용한 후 또 다른 오류가 발생합니다. 어쩌면 내가 고수 할거야cmd
mr5

둘 중 하나를 사용할 수 있어야합니다. 아니면 둘다. 적절한 heroku 자격 증명으로 컨텍스트를 설정했는지 여부에 따라 다릅니다.
dvlsg 2010 년

5

userdir의 Windows 7에서 _netrc파일 이름을 바꾸는 것이 .netrc저에게 효과적이었습니다.

.. 다른 많은 튜토리얼의 모든 단계를 시도한 후.

userdir 또는 전체 콤보의 cmd에서 세 번째 명령을 실행하십시오.

setx HOME %USERPROFILE%
cd %HOME%
REN _netrc .netrc

제 경우에는 Windows cmd 프롬프트를 통해 로그인하고 Cygwin에서 자격 증명을 사용하고 싶었습니다. .netrc내 홈 폴더에 있는 파일의 이름을 바꾸면 git이 인식하게되었습니다
Sonata

3

누군가가 여전히 이것으로 어려움을 겪고 있다면이 답변이 Heroku API 키 사용 에 많은 도움이되었습니다 .

먼저 @Raziza O 가 주석에서 언급했듯이 heroku API 키를 얻으려면

https://dashboard.heroku.com/account . 화면을 아래로 내리고 공개 버튼을 누르십시오.

그런 다음 실행 git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git HEAD:master



1

이것은 git과 heroku가 동일한 _netrc파일을 사용하지 않기 때문에 발생 합니다. 이것은 내가 고치려고하는 부분이지만 _netrc파일이 있어야 할 위치와 CLI가 어디에 저장하는지 찾아서 나를 도울 수 있습니다 .

다음은 _netrc파일이있을 수있는 잠재적 소스를 출력 합니다.

> echo %HOME%
> echo %HOMEDRIVE%%HOMEPATH%
> echo %USERPROFILE%

_netrc그 중 하나에 파일 을 추가하여 일치 하는 파일을 찾을 수 있습니다. 어느 것이 있는지 알려주세요_netrc파일 파일과 파일을 저장할 수있는 위치를 사용자 이름 / 비밀번호를 묻지 않음으로써 git이 가져 오도록합니다.

또한 .gitconfig문제를 일으킬 수있는 git 자격 증명 도우미가 있는지 확인하십시오 .



1

이 주제는 오래되었습니다.

그러나 이전 솔루션 중 어느 것도 저에게 효과가 없었습니다.

내 문제는 "Windows Credentials" (os : Windows 10)에 이전에 Heroku (회사 계정)와 연결된 다른 자격 증명이 있었고 새 자격 증명 (내 개인 계정) 대신 이것을 사용했다는 것입니다.

: 나는 가야했다 "제어판 \ 모든 제어판 항목 \ 자격 증명 관리자" (제어판에서), 모든 자격 증명을 수정 https://git.heroku.com를 (그리고 관련된 모든 사람들 "에게 Heroku"워드) 현재 계정으로.

그러나 사이트의 "대시 보드"표시된 키 API를 배치 하고 명령이 작동합니다. git push heroku master.

인생이 내게 돌려주지 않는 7 시간. : /

내 2 센트.


0

내가 한 것은 명령 프롬프트 대신 git bash를 열고 "git push heroku master"를 입력하는 것입니다. 그것은 일했다 : D


0

http 주소를 다음으로 변경하여이 문제를 해결했습니다. ssh://git@heroku/...


0

heroku두 개의 터미널에 로그인했을 수 있으며 첫 번째 터미널에서 명령을 실행하려고하면 두 번째 터미널에서 새 인증이 이루어 졌기 때문에 이러한 오류가보고됩니다.

어느 로그인 다시heroku login그 두 번째 창에서 해당 터미널 또는 실행 명령의 실행 명령 (당신은 여전히 열어이있는 경우).


0

Windows에서 동일한 문제가 발생했으며 C : \ Users \ User Name_netrc에서 찾을 수있는 _netrc 파일에서 사용할 수있는 PSW를 사용하여 정렬했습니다.

도움이 되길 바랍니다.


0

간단히 작성하십시오 : $heroku login
웹 로그인으로 이동합니다. 거기에 자격 증명을 입력하면 CLI를 통해 로그인됩니다.


0

장기 heroku 토큰을 생성하려면 다음을 사용하십시오.

heroku authorizations:create

샘플 출력 :

Creating OAuth Authorization... done
Client:      <none>
ID:          XXXXXXXX-XXXX-4c9c-85f2-554f0f0c14fa
Description: Long-lived user authorization
Scope:       global
Token:       XXXXXXXX-XXXX-4ad5-ac64-44bbc01c2d95
Updated at:  Wed Mar 04 2020 12:00:00 GMT+0000 (Greenwich Mean Time) (less than a minute ago)

그런 다음 git에 대해 다음 정보를 사용하십시오.

username: blank (type the word blank)
pass: XXXXXXXX-XXXX-4ad5-ac64-44bbc01c2d95

0

에서 언급 한대로 Heroku API 키 (계정 설정-> API 키)를 사용하여 로그인 할 수 @andy mccullough있었지만 매번 로그인이 필요했습니다.

git fetch

제 경우에 문제를 해결 했습니다.

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