はじめに
- GitHubには、セキュリティを強化するために2段階認証を有効化することができます
- 2段階認証を有効にすると、GitHubにログインしようとしたときにアプリやSMSで通知を受け取って、ログインを承認するためのワンタイムパスワードを取得・入力しないとログインできないようになる。
- こうすることで、誰かが不正にログインしようとしたとき 通知を受け取る ことができるようになり、さらに アプリやSMSで本人が認証 しない限り不正ログインができなくなります。
- 従って、安全に利用するためにはできれば2段階認証を有効化して、リポジトリを守りたいと思います。
しかし困ったことに、SourceTreeなど、2段階認証に対応していない周辺アプリからIDとパスワードによる利用ができなくなってしまいます。
コマンドラインでGitHubを操作するのは面倒なので、GitHubで2段階認証を有効化した後にもSourceTreeが利用できるようにする方法をお教えします。
対応方法
従来のID・パスの方法に変わって「トークン」を使ってSourceTreeを利用します。トークンはSourceTreeだけでなく、アプリ毎に発行でき、アクセス権限も細かく設定できるので、セキュリティを確保しながらSourceTreeを利用できる便利な機能です。
Personal access tokensを発行する
- GitHubで2段階認証を有効化したあと「Settings」画面で左メニューから「Personal access tokens」画面へ進み、Generate new tokenをクリックして下さい。
- 次の画面で、名前(「SourceTree」など適当なもの)を入れ、付与する権限にチェックを入れます。SourceTreeからのアクセスであれば、repoにチェックを入れておけば良いでしょう。
- Generate tokenボタンを押すと、tokenが表示されていますので、これをコピーして、SourceTreeでパスワードとして入力します。(IDは今まで通り、自分のIDを普通に入力します。)
以上で完了です。
GitHubを2段階認証で保護しつつ、SourceTreeからトークンでアクセスできるようになりました。
なお、ここで作成したトークンを使い回すのは止めておきましょう。トークンはいくらでも発行できますので、必要なアプリに対して個別のトークンを発行し、個別の権限設定をすることで、セキュアに利用することができます。