GitHubの2段階認証の設定をする(SMS編)

  • このエントリーをはてなブックマークに追加
  • LINEで送る
この記事は 2018年12月11日 に書かれたものです

GitHubの利用頻度が上がってきたのもあって、2段階認証かけました。

brute forceアタックなどに対する最低限のセキュリティはGitHub側でやってくれているとは思いますが、どこからパスワードが漏れるかわからないのですからねw

設定

設定自体は5分もあれば終了します。

設定画面へ

まずはWebからGitHubにログインをし、「Setting」から設定画面へ遷移。

左側のメニューにある「Security」をクリック。

「Enable two-factor authentication」ボタンをクリック。

- Sponsored Link -

SMS認証

Googleが提供する2段階認証アプリで行うか、SMS認証にするか聞いてきます。
ボタンの感じからアプリがおすすめのようですが、今回はSMS認証にします。スマホが壊れてもSMS認証であればSIMさえ何とかなれば救済できるので個人的にはSMSを選択することが多いです。

まぁ…SMSは送信側が通信料を負担することになりますからね。日本の場合1通あたり10円前後かかりますので10万人が利用するとそれだけで100万円のコスト増。GitHubのお財布が心配な場合はアプリを使った方が良いかもしれません。

万が一、何かあった際のリカバリーコードが表示されるのでダウンロードや印刷を行い金庫などに入れておきます。

日本を選択し電話番号を入力。海外から飛んでくると思われるので、頭の0は削除するのをお忘れなく。

電話番号入力欄の下にある「sent authentication code」ボタンをクリック。しばらくすると実際にSMSがやってきます。

きた(・∀・)
この番号を先ほどクリックした「sent authentication code」ボタンの下にある入力欄に入れ、「Enable」ボタンをクリックします。

以下のような画面が表示されれば設定完了です。

実際にログインしてみる

設定したら必ず検証を。
いったんログアウトした後、ログイン画面へ。ここまでは同じですね。

ID/PW入力画面のあとに2段階認証のコードを入れる画面が現れました。

割とすぐに認証コードが送られて来ますので、こちらを入力すれば完了です。この場合は275502ですね。

これでうっかりパスワードを漏らしてしまっても、最悪2段階認証でせき止めることができるようになりました。良かった、良かった。

HTTPSでつないでいる場合

HTTPS(SSL)でgit cloneなどしている場合、git push時などに正しいIDとパスワードを入力してもエラーで弾かれてしまいます。

$ git push
Username for 'https://github.com': katsube
Password for 'https://katsube@github.com':  (正しいパスワードを入力)
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/katsube/neec2018B.wiki.git/'

$ git remote show origin
* remote origin
  Fetch URL: https://github.com/katsube/neec2018B.wiki.git
  Push  URL: https://github.com/katsube/neec2018B.wiki.git

GitHubのWikiをcloneしようとするとHTTPSになってしまうので困った困ったというわけで、これを回避するためには、GitHubで「Personal access tokens」を発行しパスワードに使用する必要があります。

Personal access tokensの発行

2段階認証を設定したときと同様にWebからGitHubにログインをし、「Setting」から設定画面へ遷移。

左側メニューの一番下にある「Developer settings」をクリック

「Generate new token」をクリック

「Token description」にわかりやすい名前を入力し、必要なパーミションにチェックします。リポジトリに対して操作ができれば良いだけならrepoの横にチェック。最後に一番下にある「Generate token」ボタンをクリック

Tokenが発行されるのでこれをコピーしておきます。

Personal access tokensでログイン

では早速、先ほど発行したTokenでログインします。
ユーザーネームは通常通り入力し、パスワードの入力時に「Personal access token」を入れます。

$ git push
Username for 'https://github.com': katsube
Password for 'https://katsube@github.com':  (先ほど発行したTokenを入力)
Counting objects: 11, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (11/11), done.
Writing objects: 100% (11/11), 223.59 KiB | 13.97 MiB/s, done.
Total 11 (delta 3), reused 0 (delta 0)
remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
To https://github.com/katsube/neec2018B.wiki.git
   406df41..ea3528b  master -> master

今度は通った!当初は毎回2段階認証をOFFにして、再設定しないといけないの?と絶望していましたが、回避方法がわかってよかったw

認証結果をキャッシュする

毎回ユーザー名とパスワードを入力するのはさすがに気が狂いそうになるので、以下のページの「認証情報をキャッシュする」の項目を参照に設定を行います。

書籍

ESET パーソナル セキュリティ (最新版) | 1台1年版 | Win/Mac/Android対応
キヤノンITソリューションズ (2016-12-08)
売り上げランキング: 173

参考サイト

コメント

コメント欄は休止中です。お問い合わせはこちらからどうぞ。ご質問はTwitterにリプを投げてください。

このブログを応援する

お寄せいただいたお気持ちは全額サーバ代や次の記事を執筆するための原資として活用させていただいております。この記事が参考になった場合などぜひご検討ください。

PayPal(ペイパル)
PayPalで300円支払う
※金額は任意で変更できます。
※100円でも泣いて喜びますw
※住所の入力欄が現れた場合は「no needed」を選択ください
これまでのご協力者さま
- Sponsored Link -

旧コメント欄(表示のみ)

※こちらのコメント欄は以前稼働していたものです。現在は新たに書き込むことはできません。ご感想やご質問は記事の下にあるコメント欄をご利用ください。