密码更改后无法使用heroku gem cli

时间:2012-05-16 23:36:23

标签: heroku command-line-interface

我通过网络界面更改了密码。现在我无法运行任何需要身份验证的命令。密码使用纯ASCII,没有花哨,没有Unicode,奇怪的不可打印字符等等。

任何人都有类似的经历以及你如何解决。

我怎么开始调试这个?任何详细的cli选项,我可以查看日志吗?

% sw_vers 
ProductName:    Mac OS X 
ProductVersion: 10.6.8 
BuildVersion:   10K549
% rvm --version
rvm 1.10.3 by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.beginrescueend.com/
% ruby --version 
ruby 1.9.3p125 (2012-02-16) [x86_64-darwin10.8.0] 
% gem --version 
1.8.17 
% heroku version 
2.25.0 
% cat ~/.netrc # is empty 
% heroku auth:login

Enter your Heroku credentials. 
Email: me@example.com
Password (typing will be hidden): 
Authentication failed.

6 个答案:

答案 0 :(得分:28)

更改密码后我遇到了同样的问题,我发现这是因为我使用heroku-accounts gem管理多个帐户。

我删除了heroku帐户中的帐户设置,然后使用新凭据进行身份验证重新添加。然后事情就像以前一样开始工作。

似乎存储在heroku-accounts gem中的身份验证详细信息会以某种方式覆盖您通过命令行应用的身份验证详细信息。无论如何,这对我有用。

答案 1 :(得分:7)

你也可以试试这个:

$ heroku accounts:remove your_app

紧接着

$ heroku accounts:add your_app

输入您的电子邮件和新密码,您应该好好去。

答案 2 :(得分:4)

问题是由@vaughanos在答案中详述的heroku accounts造成的。解决这个问题的一种快速方法是。

检查您拥有的帐户

heroku accounts

  

帐户1

     

*帐户2

*表示用于当前项目的heroku帐户。这是您使用Web界面更改密码的帐户。

更改您为此项目设置的默认帐户

要么在.git/config中更改,要么执行heroku accounts:set account1

现在做heroku accounts:remove account2

现在用heroku accounts:add account2添加回来。输入您的电子邮件和新密码。一切都将为您设置。

如果它提示您更新~/.ssh/config,请执行此操作,但最有可能不需要更改。

答案 3 :(得分:4)

对于所有未来的错误 - Google员工:

2013年的问题已修复,但是,在网站上更改密码后,请使用以下命令:

heroku login

系统将提示您输入Heroku登录名和新密码。再见奇怪的“身份验证成功。身份验证失败。”错误。

通过Heroku文档:https://devcenter.heroku.com/articles/authentication,大约在页面的一半处。

答案 4 :(得分:1)

我在Windows Vista上遇到了同样的问题。

我在每个heroku命令上都收到了授权失败的消息,但无法登录。

c:\Sites\jut>heroku login
 !    Heroku client internal error.
 !    Search for help at: https://help.heroku.com
 !    Or report a bug at: https://github.com/heroku/heroku/issues/new

    Error:       Permission denied - C:/Users/myusername/_netrc (Errno::EACCES)
    Backtrace:   C:/Program Files/Heroku/vendor/gems/netrc-0.7.7/lib/netrc.rb:179:in `initialize'
                 C:/Program Files/Heroku/vendor/gems/netrc-0.7.7/lib/netrc.rb:179:in `open'
                 C:/Program Files/Heroku/vendor/gems/netrc-0.7.7/lib/netrc.rb:179:in `save'
                 C:/Program Files/Heroku/lib/heroku/auth.rb:94:in `delete_credentials'
                 C:/Program Files/Heroku/lib/heroku/auth.rb:40:in `login'
                 C:/Program Files/Heroku/lib/heroku/command/auth.rb:31:in `login'
                 C:/Program Files/Heroku/lib/heroku/command.rb:206:in `run'
                 C:/Program Files/Heroku/lib/heroku/cli.rb:28:in `start'
                 C:/Program Files/Heroku/bin/heroku:24:in `<main>'

    Command:     heroku login
    Version:     heroku/toolbelt/2.33.2 (i386-mingw32) ruby/1.9.2

我删除了 C:/Users/myusername/_netrc 密码存储的位置。

之后我再次heroku login,一切顺利!

答案 5 :(得分:0)

对我来说,遵循此页面上的所有说明并从他们的网站卸载/重新安装heroku toolbelt就可以了。