AWSとGitHubに2段階認証の導入

  • 16
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

AWSへ2段階認証の導入

Multi-Factor Authentication(MFA)機能による2段階認証

  1. 最初にrootユーザーでAWSのマネジメントコンソールにアクセス。

  2. 画面右上の(IAM User)@(Account)のボタンをクリックして、Security Credentialを選択。

  3. 画面左メニューのUsersを選択して表示されるユーザー一覧から対象のユーザーを選択する。Security Credentialsのタブを選択して、Sign-In Credentialsを押す。

  4. ポップアップが表示され、A virtual MFA deviceとA hardware MFA deviceの項目があるので、A virtual MFA deviceを選択して、Next Stepを押す。
    するとQRコードとAuthentication Code1とAuthentication Code2の2つのテキスト入力欄が表示される。

スマホアプリAuthyのダウンロード

  1. 最初に自身で使用するスマートフォンにAuthy( https://www.authy.com/ )というアプリケーションをGoogle Play, Apple Storeからインストール。

  2. アプリを起動して指示に従っていく。

  3. 30秒の時間毎に続いて表示されるパスワードを先ほどAWS上の画面のAuthentication Code1とAuthentication Code2に入力する。

  4. 登録完了。

以降、AWSへログインするときに通常のログイン画面に加えて、MFAコードを入力するがAuthy上に30秒ごとに更新されるコードを入力する2段階認証となる。

(参考)http://qiita.com/macoshita/items/06e2a2474bc8eca1a67d

GitHubへの2段階認証の導入

  1. 以下のURLへアクセス
    https://github.com/settings/security

  2. Set up two-factor authenticationをクリックする。

  3. Set up using an appを選択する。

  4. 表示されるQRをAuthyから読み取る。
    (※ただし、この段階でgitでpush/pullがhttpsでできなくなる。)

(参考)http://qiita.com/katsukii/items/9773e9cfea7d929fcf9c

2段階認証下でgit push/pullを可能にする

2段階認証によりgit push/pullできなくなるので以下のようにアクセストークンを発行する必要がある。

アクセストークンの発行

  1. GitHubのマイページからSettingsを選択
  2. Personal Access Tokensを選択
  3. Generate new tokenを押す
  4. Token descriptionには自分の分かりやすい識別情報を記述
  5. Select scopesでrepoにチェックを入れてレポジトリへの権限付与
  6. Generate tokenを押す
  7. 黄緑色のところに表示されるコード(アクセストークン)を控えておく

(参考)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できるようになる。