登录 Heroku CLI 时 IP 地址不匹配

Posted

技术标签:

【中文标题】登录 Heroku CLI 时 IP 地址不匹配【英文标题】:IP Address Mismatch on signing into Heroku CLI 【发布时间】:2020-12-01 09:49:01 【问题描述】:

以前我可以使用heroku login 登录heroku 命令行界面。但现在我得到一个IP address mismatch 错误。我应该如何解决这个问题?

【问题讨论】:

【参考方案1】:

heroku login -i 复制并粘贴到您的终端中。这就是为我解决的问题。

【讨论】:

当您将“授权令牌”附加到您的帐户时不再是这种情况! 错误:您的帐户启用了 MFA;不支持使用带有电子邮件和密码的基本身份验证的 API 请求。请为 API 访问生成授权令牌。【参考方案2】:

Heroku 在登录时添加的新更改。您可以找到更改日志here。

如果你在防火墙后面,你可能需要设置代理。

设置 HTTP_PROXY=http://proxy.server.com:portnumber

【讨论】:

portnumber 指的是什么,应该设置成什么? proxyserver 是否也意味着其他值的占位符,还是应该按字面意思解释? 可能由于这个问题,我发现作为一种解决方法,我可以打开 ***,重新登录,一切正常。【参考方案3】:

接受的答案(运行heroku login -i)不适用于启用了 MFA 的帐户。我所做的是公开我帐户的 API 密钥并将其放入 ~/.netrc,如下所示:

machine api.heroku.com
  login <MY_EMAIL>
  password <API_KEY>
machine git.heroku.com
  login <MY_EMAIL>
  password <API_KEY>

还有!我现在可以使用 CLI。这对我来说适用于 Google CloudShell。

附: -- 我添加了我机器的 SSH 密钥,但不明白如何使用它来配置 CLI 的访问权限。在~/.netrc 中查找 API 密钥似乎是硬编码的。

【讨论】:

【参考方案4】:

对于具有 MFA 的帐户。

运行heroku登录,按任意键打开浏览器窗口。复制网址并以隐身模式打开。

【讨论】:

【参考方案5】:

如果您暂时禁用代理,则当您的计算机位于代理后面时会发生此错误,然后将完成身份验证。

【讨论】:

这是唯一对我有帮助的答案。谢谢! 这行得通。我有一个本地 DNS 服务器正在运行,我停止了几秒钟,它能够登录。【参考方案6】:

关闭或切换终端,然后重新运行命令“heroku login”这对我有用!

【讨论】:

【参考方案7】:

我最初使用 Snap 软件包管理器安装 Heroku。 用 npm 安装它解决了我的问题。 复制并粘贴下面的代码。

npm i -g heroku

【讨论】:

【参考方案8】:

如果您使用多重身份验证,您可以在设置页面中生成一个授权令牌:https://dashboard.heroku.com/account/applications

运行heroku login -i 并使用生成的令牌作为密码。

【讨论】:

对我有用——虽然很烦人【参考方案9】:

我尝试了上述所有解决方案,但 *** 解决了​​我的问题。 我认为我的 ISP 或 HTTP 代理有问题

HTTP_PROXY=http://proxy.server.com:portnumber

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。 这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review【参考方案10】:

如果您使用的是运行 macOS 12 Monterey 且启用了 Private Relay 功能的 Mac,则需要在完成 Heroku CLI 身份验证工作流程时将其关闭,因为该功能会通过代理您的通过 IP 地址池进行流量。

【讨论】:

【参考方案11】:

只是添加一些详细的步骤来解决问题

    导航到https://dashboard.heroku.com/account/applications 在授权中点击创建授权按钮 在弹出的 eg.heroku cli 中添加描述,如果您不希望它过期,请在空白后保留 expire 您将获得授权令牌 在 cli 中运行 heroku login -i 在提示输入密码时输入授权令牌

【讨论】:

以上是关于登录 Heroku CLI 时 IP 地址不匹配的主要内容,如果未能解决你的问题,请参考以下文章

heroku cli登录显示错误的帐户信息

Heroku登录无法打开浏览器

无法使用 CLI 登录 heroku

路由器的工作原理

Rancher CLI 登录错误 - 状态 [401 未授权]。正文:[message=clusterID 不匹配]

使用 CloudFlare、Heroku 和 RoR 时如何设置真实 IP 地址?