GitHubの利用頻度が上がってきたのもあって、2段階認証かけました。
brute forceアタックなどに対する最低限のセキュリティはGitHub側でやってくれているとは思いますが、どこからパスワードが漏れるかわからないのですからねw
目次
設定
設定自体は5分もあれば終了します。
設定画面へ
まずはWebからGitHubにログインをし、「Setting」から設定画面へ遷移。
「Enable two-factor authentication」ボタンをクリック。
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」をクリック
「Token description」にわかりやすい名前を入力し、必要なパーミションにチェックします。リポジトリに対して操作ができれば良いだけならrepo
の横にチェック。最後に一番下にある「Generate 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
認証結果をキャッシュする
毎回ユーザー名とパスワードを入力するのはさすがに気が狂いそうになるので、以下のページの「認証情報をキャッシュする」の項目を参照に設定を行います。
書籍
売り上げランキング: 173
参考サイト
このブログを応援する
お寄せいただいたお気持ちは全額サーバ代や次の記事を執筆するための原資として活用させていただいております。この記事が参考になった場合などぜひご検討ください。
旧コメント欄(表示のみ)