Google Authenticator から secret を抽出する方法

まず、エクスポートから QRコードを表示。

Google Authenticator から secret を抽出する

テキスト化します。



otpauth-migration://offline?data=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

※ 登録数が多ければ、XXX.. は、すごく長いです。

それをさらに以下のツールでデコードします。

👉 dim13/otpauth: Google Authenticator migration decoder hatena-bookmark

go を入れるのがだるいので対応するバイナリをダウンロードします。

dim13/otpauth: Google Authenticator migration decoder
👉 Release v0.5.1 · dim13/otpauth hatena-bookmark

どれなのか、良くわからないので、インストール先を調べます。


❯ uname -a
Darwin iMac.local 22.3.0 Darwin Kernel Version 22.3.0: Mon Jan 30 20:42:11 PST 2023; root:xnu-8792.81.3~2/RELEASE_X86_64 x86_64

❯ uname -m
x86_64

otpauth-v0.5.1-darwin-amd64.tgz をダウンロードして展開します。M1+なら「arm64」

先に取得したテキストを渡して実行します。


❯ ./otpauth -link "otpauth-migration://offline?data=XXXXX..."

otpauth://totp/Example%20Company:test@example.com?algorithm=SHA1&digits=6&issuer=Example+Company&period=30&secret=QUU6EA2GHORGMD22SN2YKU6VKISCKYAG
otpauth://totp/Henrik%20Schacks%20blog?algorithm=SHA1&digits=6&period=30&secret=5YGQ4IAR32CYA6PY
otpauth://totp/auth@test.com?algorithm=SHA1&digits=6&issuer=MyCompanyName.AbpZeroTemplate&period=30&secret=MFRDCZDFMQ3DAMDC
otpauth://totp/WordPress:ThinkingTeapot?algorithm=SHA1&digits=6&issuer=WordPress&period=30&secret=S55IFILZLA6DESAO
otpauth://totp/Google:example@gmail.com?algorithm=SHA1&digits=6&issuer=Google&period=30&secret=QJV3EN5JJJHGQ4PK3M6E576YMWUC5D4X
...

これの secret パラメータがそれ。base32 でエンコードされた文字列です。

👉 RFC 6238: TOTP: Time-Based One-Time Password Algorithm hatena-bookmark

他のTOTPジェネレータにも登録しておくと安心できます。

👉 「GitHub」で2要素認証の義務化、3月13日から - ケータイ Watch hatena-bookmark


Mac メニューバーからショートカットを使ってスクリプトを実行する方法

よく使うスクリプトは、ショートカットを利用してメニューバーから実行すると素早いです。

Mac メニューバーからショートカットを使ってスクリプトを実行する方法

直接スクリプトを実行することもできますが、今回は、iTerm を開かせたあと、実行コマンドを入力させることでスクリプトを実行します。

スクリプトは前回に作成した「パソコン画面に表示されているQRコードを読み取るスクリプト」を使ってみます。

👉 【スマホ・カメラ不要】Mac上でQRコードを スクリーンキャプチャ→テキスト化 するスクリプト hatena-bookmark

ショートカット.app の「Apple Script」で作成します。

Mac メニューバーからショートカットを使ってスクリプトを実行する方法
Mac メニューバーからショートカットを使ってスクリプトを実行する方法


tell application "iTerm"
	create window with default profile
	delay 1
	tell current session of current window
		write text "$(which capture-qrcode)"
	end tell
end tell

作成したら、「Menu bar」にドラッグします。

作成したら、「Menu bar」にドラッグします。

これで、メニューバーから起動できるようになりました。

QRコード内のテキストが iTerm 内に表示されます。

👉 【スマホ・カメラ不要】Mac上でQRコードを スクリーンキャプチャ→テキスト化 するスクリプト hatena-bookmark
👉 【便利】Mac パスワードマネージャー を メニューバーのショートカット や コマンドラインから開く方法 hatena-bookmark


【便利】Mac パスワードマネージャー を メニューバーのショートカット や コマンドラインから開く方法

「ショートカット」から作成します。

【便利】Mac パスワードマネージャー を開く ショートカット をメニューバーに追加する方法

念のため macOS のバージョンを見ながら、Safari 経由で、[設定]-[パスワード] を開くように構成していきます。少し見づらいですが。

【便利】Mac パスワードマネージャー を開く ショートカット をメニューバーに追加する方法

出来たらクリックしましょう。

メニューにアイコン表示されますのでクリックするとパスワード設定画面です。

【便利】Mac パスワードマネージャー を開く ショートカット をメニューバーに追加する方法

【便利】Mac パスワードマネージャー を開く ショートカット をメニューバーに追加する方法

できましたか!

簡単ですよね!

 

🔑 メニューバーにショートカット

知ったげに書きましたが、以下に作成済みのものが公開されていますので、Safari だけでなく Chrome からでも簡単に GET して利用できます。

【便利】Mac パスワードマネージャー を開く ショートカット をメニューバーに追加する方法

👉 Passwords hatena-bookmark

作者は、Apple の中の方のようです。

👉 Ricky Mondello(@rmondello)さん / Twitter hatena-bookmark

👉 Halboffiziell: Per Kurzbefehl zu Apples Passwort-Manager › ifun.de hatena-bookmark

メニューバーに入ってない人は以下のようにドラッグで。

👉 Mac メニューバーからショートカットを使ってスクリプトを実行する方法 hatena-bookmark

 

🔑 コマンドラインから開く

また、コマンドラインからは、以下で、パスワード画面を開くことができます。Ventura でどうぞ。


❯ open x-apple.systempreferences:com.apple.Passwords-Settings.extension


❯ open x-apple.systempreferences:com.apple.Passwords

👉 How to open every section of macOS Ventura System Settings - macOS Adventures hatena-bookmark


👉 piarasj.github.io/ventura_settings.md at master · piarasj/piarasj.github.io hatena-bookmark

エイリアスにでもしておきますか?

 

🔑 まとめ

Apple パスワードマネージャー は、iCloud キーチェーンを利用して共有しておけば、複数の Mac や iPhone で同期されますし、2段階認証のTOTPジェネレータの機能もあるので、Apple ユーザーなら最も信頼できる使いやすいパスワードマネージャーです。

【便利】Mac パスワードマネージャー を開く ショートカット をメニューバーに追加する方法