'git push heroku master' 仍在要求身份验证
'git push heroku master' is still asking for authentication
我执行了:
$ heroku login
但是当我尝试推送时,仍然要求我进行身份验证:
$ git push heroku master
Username for 'https://git.heroku.com': <email>
Password for 'https://<email>@git.heroku.com':
然后我收到一条警告:不要使用 Git.
使用用户名和密码进行身份验证
我再次运行 heroku login 并成功验证,但我仍然遇到同样的失败。
我检查过遥控器:
$ git remote -v
heroku https://git@heroku.com/appname.git (fetch)
heroku https://git@heroku.com/appname.git (push)
我还生成了一个新的 public 密钥,将其传递给 Heroku,并对其进行了验证:https://devcenter.heroku.com/articles/keys
我在 Windows 8,Git 1.9.5。
我通过使用以下登录解决了这个问题:
用户名:用于注册 heroku 的电子邮件(也可以将此字段留空空白)
密码:heroku 身份验证令牌(API 密钥)
可以通过 $ heroku auth:token
或通过 Heroku 中的帐户设置检索身份验证令牌
请原谅我回复晚了,我已经在两个月前解决了我的问题。 (只是还没有将问题标记为已回答。/菜鸟)
SSH Fingerprint not authorized on Heroku after git restore
我有完全相同的问题。就我而言,原因是我不小心使用了 window 控制台而不是 Git bash
发生这种情况是因为 git 和 heroku 没有使用相同的 _netrc
文件。这是我正在尝试解决的问题,但您可以通过查找您的 _netrc
文件的位置以及 CLI 将其放置的位置来帮助我。
以下将输出 _netrc
文件可能所在位置的潜在来源:
> echo %HOME%
> echo %HOMEDRIVE%%HOMEPATH%
> echo %USERPROFILE%
您可以尝试将 _netrc
文件添加到其中一个以找到匹配的文件。让我知道哪个有 _netrc
文件,你可以把它放在哪里,让 git 通过不要求你提供 username/password.
来获取它
同时检查您的 .gitconfig
以查看是否有任何 git 凭证助手,这可能会导致问题。
我遇到了同样的问题(git 无法验证)。
碰巧 GIT 想从 %HOME%/_netrc 文件读取授权数据,而在 Windows 你没有这个变量(只有 %USERPROFILE% 和 %HOMEDRIVE% + %HOMEPATH%)
我将 HOME 设置为 %USERPROFILE%(heroku 保存 _netrc 文件的地方)并且 GIT 开始工作
我所做的是打开 git bash 而不是命令提示符并键入 "git push heroku master"。
它起作用了:D
Renaming the _netrc
file to .netrc
on Windows 7 in the userdir worked for me.
..在尝试了许多其他教程中的所有步骤之后。
运行 用户目录或整个组合中 cmd 中的第 3 个命令:
setx HOME %USERPROFILE%
cd %HOME%
REN _netrc .netrc
输入以下命令:
# 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/
首先找到由 heroku 创建的 _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
命令后要求身份验证时使用该登录名和密码
我通过将 http 地址更改为 ssh://git@heroku/...
来解决此问题
如果有人试图在 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/
您可能已经在两个终端登录 heroku
,如果您尝试在第一个终端上 运行 命令,它会报告这样的错误,因为在第二个终端进行了新的身份验证.
在该终端中使用 heroku login
和 运行 命令再次登录 ,或者在第二个 window 中使用 运行 命令(如果你还开着的话)。
用户名:您用于注册 Heroku 的电子邮件
密码:Heroku 为您提供的 API 密钥,在 Heroku 网站的帐户设置中
这对我有用
这个话题很老了,我知道。
但是,none 之前的解决方案对我有用。
我的问题是 "Windows Credentials" (os: Windows 10) 之前有另一个与 Heroku(公司帐户)关联的凭证,并且使用这个而不是新的(我的个人帐户)。
我不得不去:"Control Panel\All Control Panel Items\Credential Manager"(从控制面板),并修改所有凭据:https://git.heroku.com(以及所有 ose 与 "heroku" 词相关联)与帐户当前。
但是,密码我放置了显示在站点 "Dashboard" 中的密钥 API 并且命令有效: git 推送 heroku 大师。
生活不会还给我的 7 个小时。 :/
我的 2 美分。
如果有人还在为此苦苦挣扎,这个答案对我帮助很大。
首先,如评论中@Raziza O所述,获取heroku API key
https://dashboard.heroku.com/account. Roll down the screen and hit the reveal button.
那么,运行
git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git HEAD:master
我在 windows 上遇到了同样的问题,使用 _netrc 文件中可用的 PSW 对其进行了排序,它可以在 C:\Users\User Name_netrc.
希望对你有所帮助
简单写:$heroku login
它会带你到网络登录。在那里输入您的凭据,您也将通过 CLI 登录。
要生成长期 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
可以使用 @andy mccullough
提到的 Heroku API 密钥(帐户设置 -> API 密钥)登录,但是,每次都需要登录。
git fetch
解决了我的问题。
对我来说,它发生在两种情况下:第一次使用时或长时间不使用时git它会自动注销。
在这两种情况下,您只需要 运行 heroku login
它将打开浏览器,以便您可以开始新的会话。
我执行了:
$ heroku login
但是当我尝试推送时,仍然要求我进行身份验证:
$ git push heroku master
Username for 'https://git.heroku.com': <email>
Password for 'https://<email>@git.heroku.com':
然后我收到一条警告:不要使用 Git.
使用用户名和密码进行身份验证我再次运行 heroku login 并成功验证,但我仍然遇到同样的失败。
我检查过遥控器:
$ git remote -v
heroku https://git@heroku.com/appname.git (fetch)
heroku https://git@heroku.com/appname.git (push)
我还生成了一个新的 public 密钥,将其传递给 Heroku,并对其进行了验证:https://devcenter.heroku.com/articles/keys
我在 Windows 8,Git 1.9.5。
我通过使用以下登录解决了这个问题:
用户名:用于注册 heroku 的电子邮件(也可以将此字段留空空白)
密码:heroku 身份验证令牌(API 密钥)
可以通过 $ heroku auth:token
或通过 Heroku 中的帐户设置检索身份验证令牌
请原谅我回复晚了,我已经在两个月前解决了我的问题。 (只是还没有将问题标记为已回答。/菜鸟)
SSH Fingerprint not authorized on Heroku after git restore
我有完全相同的问题。就我而言,原因是我不小心使用了 window 控制台而不是 Git bash
发生这种情况是因为 git 和 heroku 没有使用相同的 _netrc
文件。这是我正在尝试解决的问题,但您可以通过查找您的 _netrc
文件的位置以及 CLI 将其放置的位置来帮助我。
以下将输出 _netrc
文件可能所在位置的潜在来源:
> echo %HOME%
> echo %HOMEDRIVE%%HOMEPATH%
> echo %USERPROFILE%
您可以尝试将 _netrc
文件添加到其中一个以找到匹配的文件。让我知道哪个有 _netrc
文件,你可以把它放在哪里,让 git 通过不要求你提供 username/password.
同时检查您的 .gitconfig
以查看是否有任何 git 凭证助手,这可能会导致问题。
我遇到了同样的问题(git 无法验证)。 碰巧 GIT 想从 %HOME%/_netrc 文件读取授权数据,而在 Windows 你没有这个变量(只有 %USERPROFILE% 和 %HOMEDRIVE% + %HOMEPATH%)
我将 HOME 设置为 %USERPROFILE%(heroku 保存 _netrc 文件的地方)并且 GIT 开始工作
我所做的是打开 git bash 而不是命令提示符并键入 "git push heroku master"。 它起作用了:D
Renaming the
_netrc
file to.netrc
on Windows 7 in the userdir worked for me.
..在尝试了许多其他教程中的所有步骤之后。
运行 用户目录或整个组合中 cmd 中的第 3 个命令:
setx HOME %USERPROFILE%
cd %HOME%
REN _netrc .netrc
输入以下命令:
# 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/
首先找到由 heroku 创建的 _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
命令后要求身份验证时使用该登录名和密码
我通过将 http 地址更改为 ssh://git@heroku/...
如果有人试图在 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/
您可能已经在两个终端登录 heroku
,如果您尝试在第一个终端上 运行 命令,它会报告这样的错误,因为在第二个终端进行了新的身份验证.
在该终端中使用 heroku login
和 运行 命令再次登录 ,或者在第二个 window 中使用 运行 命令(如果你还开着的话)。
用户名:您用于注册 Heroku 的电子邮件
密码:Heroku 为您提供的 API 密钥,在 Heroku 网站的帐户设置中
这对我有用
这个话题很老了,我知道。
但是,none 之前的解决方案对我有用。
我的问题是 "Windows Credentials" (os: Windows 10) 之前有另一个与 Heroku(公司帐户)关联的凭证,并且使用这个而不是新的(我的个人帐户)。
我不得不去:"Control Panel\All Control Panel Items\Credential Manager"(从控制面板),并修改所有凭据:https://git.heroku.com(以及所有 ose 与 "heroku" 词相关联)与帐户当前。
但是,密码我放置了显示在站点 "Dashboard" 中的密钥 API 并且命令有效: git 推送 heroku 大师。
生活不会还给我的 7 个小时。 :/
我的 2 美分。
如果有人还在为此苦苦挣扎,这个答案对我帮助很大
首先,如评论中@Raziza O所述,获取heroku API key
https://dashboard.heroku.com/account. Roll down the screen and hit the reveal button.
那么,运行
git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git HEAD:master
我在 windows 上遇到了同样的问题,使用 _netrc 文件中可用的 PSW 对其进行了排序,它可以在 C:\Users\User Name_netrc.
希望对你有所帮助
简单写:$heroku login
它会带你到网络登录。在那里输入您的凭据,您也将通过 CLI 登录。
要生成长期 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
可以使用 @andy mccullough
提到的 Heroku API 密钥(帐户设置 -> API 密钥)登录,但是,每次都需要登录。
git fetch
解决了我的问题。
对我来说,它发生在两种情况下:第一次使用时或长时间不使用时git它会自动注销。
在这两种情况下,您只需要 运行 heroku login
它将打开浏览器,以便您可以开始新的会话。