Githubのログインを二段階認証(Two-factor Authentication)に変更したところ、TortoiseGitからpullなどをしようとすると「Authentication failed」するようになってしまいました。これを克服する手順です。
二段階認証の手順
以下ページを参考に。設定画面(https://github.com/settings/admin)でTwo-factor Authenticationを選んで進めれば良いだけです。
https://github.com/blog/1614-two-factor-authentication
Personal Access Tokensを取得
私は普段、SSH鍵は登録せず、HTTPS認証で毎回ID/Passを入力していました。その場合、Personal Access Tokensを取得して、これを今後はパスワード代わりに使う必要があるようです。
これもGithubの設定画面(https://github.com/settings/applications)からすぐ作れます。
_netrc
このエントリで言いたかったことは以上。めでたしめでたし・・・なんですが、毎回このトークンを打てる気がしないので、ファイルに書いておきます。Windows Vista以降なら、C:\Users\<ユーザー名>\_netrc という名前のテキストファイルを作ります。
内容はこのように。loginはユーザ名、passwordはPersonal Access Tokensを設定します。
machine github.com login username password 361151d549******************************
せっかく二段階認証にしたのにファイルに書いては、なんだかまた若干脆弱になったような気もしますが、気のせいと信じます。
また、この方法は今日始めたばかりなので、Personal Access Tokensの有効期限といった問題はまだわかりません。