“git push heroku master”仍然要求authentication

我已经执行了:

$ heroku login 

但是当我尝试推送时,我仍被要求进行身份validation:

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

然后我得到一个警告:不要使用用户名和密码使用Git进行身份validation。

我再次运行herokulogin和authentication成功,但我仍然得到同样的失败。

我检查了遥控器:

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

我也生成了一个新的公钥,传递给Heroku,并validation它: https : //devcenter.heroku.com/articles/keys

我在Windows 8上,与Git 1.9.5。

我通过以下login来解决这个问题:

用户名: 空白

密码: herokuauthentication令牌

可以通过$ heroku auth:token检索$ heroku auth:token

我有同样的问题(混帐无法validation)。 它发生GIT想要从%HOME%/ _ netrc文件读取authentication数据,在Windows上你没有这个variables(只有%USERPROFILE%和%HOMEDRIVE%+%HOMEPATH%)

我把HOME设置为%USERPROFILE%(heroku保存_netrc文件的地方)和GIT开始工作

首先find由heroku创build的_netrc文件。 在Windows中可以在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命令后请求validation时使用该login名和密码

我也有完全一样的问题。 原因在我的情况下,我不小心窗口控制台而不是Git bash

从Heroku文档

input以下命令:

 # 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/ 

请原谅答复迟到,但两个月前我已经解决了我的问题。 (只是没有标记问题回答。/ noob)

在git恢复之后,Heroku上的SSH指纹没有被授权

在Windows 7中将_netrc文件重命名为.netrc在userdir中为我工作。

在尝试了许多其他教程中的所有步骤之后。

在用户目录或整个组合中,在cmd中运行第三个命令:

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

发生这种情况是因为git和heroku不使用相同的_netrc文件。 这是我正在尝试解决的问题,但是您可以通过查找您的_netrc文件的位置以及CLI所在的位置来帮助我。

以下将输出_netrc文件可能位置的潜在来源:

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

您可以尝试将_netrc文件添加到其中一个中以查找匹配的文件。 让我知道哪些有_netrc文件,你可以把它放在哪里,让git捡起来不要求你的用户名/密码。

另外检查你的.gitconfig ,看看是否有任何git证书助手,这可能是一个问题。

如果其他人正试图解决这个cygwin: http : //www.railszilla.com/git-push-heroku-master-authentication/start重写SSH运输为我做了诡计:

 git config --global url.ssh://git@heroku.com/.insteadOf https://git.heroku.com/ 

我所做的是打开git bash而不是命令提示符并键入“git push heroku master”。 它的工作:D

我通过更改http地址来解决这个问题ssh://git@heroku/...