サマリ
ターミナルで二段階認証できます。
もう二段階認証するためにMacを離れてスマホを使う必要はありません。
おことわり
- 本内容はMacでの動作を想定しています。他のOSでは検証していませんのでご注意ください。
- 本内容の対象となる二段階認証はTOTP(Time-based One Time Password)です。おそらく最も普及している二段階認証方式です。
- 二段階認証に必要なシークレットキーの扱いには触れていません。各自で対策した上でお使いください。
初期手順
次のコマンドで必要なライブラリをインストールします。
brew install oath-toolkit
二段階認証方法
次の例に倣ってコマンドを実行します。
oathtool --totp --base32 {シークレットキー}
すると二段階認証に必要な6桁の数字が表示されます。
123456
お勧めの使い方
次のスクリプトに実行権限を与え、パスの通った場所におきます。
/bin/echo -n "Git "
oathtool --totp --base32 {gitのシークレットキー}
/bin/echo -n "AWS "
oathtool --totp --base32 {awsのシークレットキー}
...
% mfa
Git 123456
AWS 098765
...
ポイントは/bin/echo
です。
通常のecho
だと-n
オプションが効かず改行してしまいますが、bash組み込みの/bin/echo
なら-n
により改行を回避できます。
WARNING!!
冒頭にも書きましたが、この方法だとシークレットキーが生の状態なので危険です。シークレットといいつつオープンな状態です。
シークレットキーを何らかの方法で暗号化して保存するなどの対策を講じるか、危険を承知の上自己責任でご利用ください。