1
0

More than 3 years have passed since last update.

MacのTouch Barにmfaコードをコピーするボタンを作る

Last updated at Posted at 2020-07-07

昨今、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文字のキーを覚える。
Image 2020-07-07 08-32-07.jpg

※ 基本的に仮想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標準で入っています。
Image 2020-07-07 08-52-37.jpg

クイックアクションを作成します。
Image 2020-07-07 08-55-05.jpg

"シェルスクリプトを実行"のアクションを右側のワークフローのエリアにドラッグ&ドロップして追加します。
Image 2020-07-07 08-59-22.jpg

シェルスクリプトの内容は以下で登録します。

/usr/local/bin/oathtool --totp --base32 "32文字のキーをスペース無しで入れる”

次に"クリップボードにコピー"のアクションを右側のワークフローのエリアにドラッグ&ドロップして追加します。
Image 2020-07-07 09-03-18.jpg

ワークフローのインプットを"入力なし"に設定します。
Image 2020-07-07 09-05-14.jpg

ファイルの保存メニューから適当な名前をつけてワークフローを保存します。

次は、作成したクイックアクションのワークフローをtouchbarから呼び出せるようにします。

システム環境設定 -> 機能拡張から、TouchBarを選び、先ほど保存したクイックアクションのチェックをつけます。
Image 2020-07-07 09-16-39.jpg

システム環境設定 > キーボードを開いてTouchBarをカスタマイズボタンをクリックします。

Image 2020-07-07 09-11-02.jpg

クイックアクションのメニューをTouchBarに追加します。
クイックアクションを展開済みにするかなど、この辺りは好みで。

以下のリンク先を参照すると分かりやすい
https://amamemo.com/memo/7894
https://mutsunic.com/mac-touch-bar/

これでTouch Barのボタンでいつでもmfaコードがクリップボードにコピーされるので、
ボタンを押したら、後は入力したい場所に貼り付けるだけでOK!!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0