#AWSへ2段階認証の導入
##Multi-Factor Authentication(MFA)機能による2段階認証
-
最初にrootユーザーでAWSのマネジメントコンソールにアクセス。
-
画面右上の(IAM User)@(Account)のボタンをクリックして、Security Credentialを選択。
-
画面左メニューのUsersを選択して表示されるユーザー一覧から対象のユーザーを選択する。Security Credentialsのタブを選択して、Sign-In Credentialsを押す。
-
ポップアップが表示され、A virtual MFA deviceとA hardware MFA deviceの項目があるので、A virtual MFA deviceを選択して、Next Stepを押す。
するとQRコードとAuthentication Code1とAuthentication Code2の2つのテキスト入力欄が表示される。
##スマホアプリAuthyのダウンロード
-
最初に自身で使用するスマートフォンにAuthy( https://www.authy.com/ )というアプリケーションをGoogle Play, Apple Storeからインストール。
-
アプリを起動して指示に従っていく。
-
30秒の時間毎に続いて表示されるパスワードを先ほどAWS上の画面のAuthentication Code1とAuthentication Code2に入力する。
-
登録完了。
以降、AWSへログインするときに通常のログイン画面に加えて、MFAコードを入力するがAuthy上に30秒ごとに更新されるコードを入力する2段階認証となる。
(参考)http://qiita.com/macoshita/items/06e2a2474bc8eca1a67d
#GitHubへの2段階認証の導入
-
以下のURLへアクセス
https://github.com/settings/security -
Set up two-factor authenticationをクリックする。
-
Set up using an appを選択する。
-
表示されるQRをAuthyから読み取る。
(※ただし、この段階でgitでpush/pullがhttpsでできなくなる。)
(参考)http://qiita.com/katsukii/items/9773e9cfea7d929fcf9c
#2段階認証下でgit push/pullを可能にする
2段階認証によりgit push/pullできなくなるので以下のようにアクセストークンを発行する必要がある。
##アクセストークンの発行
- GitHubのマイページからSettingsを選択
- Personal Access Tokensを選択
- Generate new tokenを押す
- Token descriptionには自分の分かりやすい識別情報を記述
- Select scopesでrepoにチェックを入れてレポジトリへの権限付与
- Generate tokenを押す
- 黄緑色のところに表示されるコード(アクセストークン)を控えておく
(参考)https://help.github.com/articles/creating-an-access-token-for-command-line-use/
##gitの認証を毎回問われるのを省略する
2段階認証下でhttpsでgit push/pullするときにはこれまで使っていたパスワードの代わりに発行したパスワードを入力する必要がある。
これは手間になるのでいかのように.netrcを以下のように編集する
vim ~/.netrc
machine github.com
login GitHubユーザー名
password 発行したアクセストークン
(参考)http://wada811.blogspot.com/2014/05/failed-to-push-to-github-over-https.html
以上の動作でgit push/pullできるようになる。