Corredor

ウェブ、プログラミングの勉強メモ。

Heroku に git push しようとしたらユーザ名とパスワードを問われ続ける問題の解決法

Windows10 にて。

ある日、いつものように Heroku に向けて git push しようとしたら、以下のように Username と Password を問われた。

$ git push heroku master
Username for 'https://git.heroku.com':
Password for 'https://git.heroku.com':
remote: !       WARNING:
remote: !       Do not authenticate with username and password using git.
remote: !       Run `heroku login` to update your credentials, then retry the git command.
remote: !       See documentation for details: https://devcenter.heroku.com/articles/git#http-git-authentication
fatal: Authentication failed for 'https://git.heroku.com/my-app.git/'

ココで、Username と Password に何を入れても、入れなくても、上手く行かなかった。

そういえば Heroku のパスワードを変えたんだった。と思い、$ heroku login をやり直してみたが、どうも変わらず。

ググってみると、Username は空のまま、Password には heroku auth:token で取得したトークンを入力しろ、という文献がいくつか見つかったが、コレは上手く行かず。

そもそも $ heroku login した時の認証情報はどのように保持されているのかと思ったら、ユーザホームディレクトリ直下に、~/_netrc というファイルが生成されて、ココに暗号化されて記述されているようだ。

Heroku のパスワードを変更したタイミングで、この認証情報がどうにも更新できなくなったようだ。

もう少し調べてみると、この ~/_netrc (アンダースコア始まり) のファイルを ~/.netrc と、ピリオド始まりにリネームすると、このファイルが上手く作用するんだとか。

ということで、以下の手順で問題が解消した。

  1. 既存の ~/_netrc を消してしまう
  2. $ heroku login を改めて実行する (最近はブラウザが起動してソチラで認証するようになったみたい)
  3. ~/_netrc が生成されているので、~/.netrc にリネームする

コレで $ git push heroku master が成功するようになった。

クラウド開発徹底攻略 (WEB+DB PRESS plus)

クラウド開発徹底攻略 (WEB+DB PRESS plus)

  • 作者: 菅原元気,磯辺和彦,山口与力,澤登亨彦,内田誠悟,小林明大,石村真吾,相澤歩,柴田博志,伊藤直也,登尾徳誠,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2016/05/13
  • メディア: 大型本
  • この商品を含むブログを見る

Heroku: Up and Running: Effortless Application Deployment and Scaling (English Edition)

Heroku: Up and Running: Effortless Application Deployment and Scaling (English Edition)

LINE BOTを作ろう!  Messaging APIを使ったチャットボットの基礎と利用例

LINE BOTを作ろう! Messaging APIを使ったチャットボットの基礎と利用例