昨今、mfaが必須と言われていますが、毎回スマホのロックを解除してコードを見るのが面倒じゃないですか?
MacのTouch Barにmfaコードをクリップボードにコピーするボタンを配置する方法をご紹介します。
OATH Toolkitの導入
まずは、CLIにてmfaコードを扱えるようにOath Toolkit (https://www.nongnu.org/oath-toolkit/) を導入します。
$ brew install oath-toolkit
mfaの設定
AWSや、googleにmfa認証の設定画面へ行く。以下AWSの場合の例です。
仮想MFAデバイスの設定画面にて、シークレットキーの表示で表示される32文字のキーを覚える。
※ 基本的に仮想MFAデバイスはユーザー毎に1つしか登録することはできません。
今スマホで登録ずみのMFAデバイスがある場合は、一度削除して、登録し直しましょう。
同じキーを使用して、PCとスマホ両方でmfaコードを生成することは可能です。
その場合は、上記の同じ32文字のキーをPCとスマホ両方に登録しましょう。
CLIでのmfaコードの生成
oathtoolを使って、以下のコマンドにてmfaコードを表示することができるようになります。
$ oathtool --totp --base32 "32文字のキーをスペース無しで入れる”
pbcopyコマンドにて、クリップボードにコピーすることも可能です。
$ oathtool --totp --base32 "32文字のキーをスペース無しで入れる” | pbcopy
上記をaliasに登録するだけでも大分手間が省けるかと思いますし、これでCLIにてmfaコードを扱えるようになりましたので、
色々ログインを自動化することもできるでしょう。
※32文字のシークレットキーが漏れると誰でもmfaコードを生成することが可能になります。暗号化して保存するのがベターでしょう。
Touch Barへの登録
さて、ここからは上記コマンドをTouch Barに登録する方法のご紹介です。
Automatorを起動します。
あまり使ったことはありませんでしたが、macの操作を色々自動化できる奴です。macOS標準で入っています。
"シェルスクリプトを実行"のアクションを右側のワークフローのエリアにドラッグ&ドロップして追加します。
シェルスクリプトの内容は以下で登録します。
/usr/local/bin/oathtool --totp --base32 "32文字のキーをスペース無しで入れる”
次に"クリップボードにコピー"のアクションを右側のワークフローのエリアにドラッグ&ドロップして追加します。
ファイルの保存メニューから適当な名前をつけてワークフローを保存します。
次は、作成したクイックアクションのワークフローをtouchbarから呼び出せるようにします。
システム環境設定 -> 機能拡張から、TouchBarを選び、先ほど保存したクイックアクションのチェックをつけます。
システム環境設定 > キーボードを開いてTouchBarをカスタマイズボタンをクリックします。
クイックアクションのメニューをTouchBarに追加します。
クイックアクションを展開済みにするかなど、この辺りは好みで。
以下のリンク先を参照すると分かりやすい
https://amamemo.com/memo/7894
https://mutsunic.com/mac-touch-bar/
これでTouch Barのボタンでいつでもmfaコードがクリップボードにコピーされるので、
ボタンを押したら、後は入力したい場所に貼り付けるだけでOK!!