SourceTreeとGitHubを使って、開発をしようと設定していたところ、GitHubへのプッシュがうまくいかなくて少々ハマりました。
プッシュ実行→GitHubのユーザー名とパスワードを聞かれる→入力→上記画像のような【Password Required】というダイアログが出てくる。→パスワードを入力しても認証エラーになってプッシュできない・・・という状況でした。
原因は、GitHubの2段階認証が有効になっており、2回めのパスワードはGitHubサイト上で発行するTokenを入力しなけばならないということでした。そのtokenをGitHub側とSourceTree側で設定すれば、無事プッシュできました。
GitHubでは2段階認証がデフォルトで設定されており、万が一ログインパスワードを盗まれたとしても、アカウントの不正利用を防ぐことが出来ます。ソースコードは貴重な財産なので、より安全に管理するために2段階認証が有効化されているようです。
それでは、SourceTreeでGitHubにプッシュしたとき、Password Requiredから進まない場合の解消法について解説します。
Token発行
まず以下の設定画面にアクセスします。
https://github.com/settings/applications#personal-access-tokens
左メニューの【Personal access tokens】をクリックし、【Generate a personal access token】をクリックします。
【Token description】に任意のアプリ名を入力します。また、SourceTreeからのアクセスを許可するために、repoにチェックをつけておきましょう。【Generate token】をクリックします。
tokenが発行されます。これをコピーしてGitHub側とSourceTree側に設定します。
token設定
【Personal access tokens】をクリックし、【Edit】をクリックします。
【Token description】に先ほどのtokenを入力し、【repo】にチェックを入れ、【Update token】をクリックします。GitHub側の設定はこれで完了です。
次にSourceTree側の操作に戻ります。
プッシュの際に出てきていたダイアログに、先ほど発行したtokenを入力します。
無事プッシュできました!GitHubのリポジトリページにも変更が反映されています!
設定関係はなにごとも最初の一本の正常系動作をさせるまでが大変ですね。。。token関係についてはも少し勉強が必要のようです。
以上、【SourceTreeでGitHubにプッシュしたとき、Password Requiredから進まない】の解説でした。