Authyからpassword-store-otpに移行した

Introduction

Bitwardenからpassword-storeに移行した でpassword-storeに移行できたので、TOTPも Authy から移行する。

Goal

  • 過去の案件で使ってたものを断捨離する
  • password-store-otp経由でOTP Codeを取得できるようにする
  • Authy管理しているデータをpassword-storeに移行する

Not Goal

  • Authyを完全に削除する
    • Bitwarden同様数年間使わなくても問題なかったら適切に削除する

作業手順

1. password-store-otpを有効にする

私はNixユーザーなのでNix Packageからpassを落としてくる。以下のような設定でhome-manager経由で入れると勝手にExtensionが有効になる。

{ pkgs, ... }:

{
  home.packages = with pkgs; [
    (pass.withExtensions (extensions: with extensions; [ pass-otp ]))
  ];
}

fish shellで拡張を有効にする。

set -x PASSWORD_STORE_ENABLE_EXTENSIONS true

2. AuthyからExportする

公式のExport方法は見あたらなかったので、Export TOTP tokens from Authy - gistを参考にAuthy Desktopから情報を抜き出す。

3. password-storeに貼りつける

以下のようなフォーマットでパスワードの下に otppath を入力する。

P@ssw0rd
otpauth://totp/Discord:foo@gmail.com?secret=XXX&issuer=Discord
url: https://discordapp.com/
username: foo@gmail.com

4. アクセスできるか確認する

以下のコマンドをたたくとclipboardにOTP codeがコピーされる。

$ pass otp -c private/life/tech/discord
Copied OTP code for private/life/tech/discord to clipboard. Will clear in 45 seconds.

Result

16個のTOTP情報を移行した。

所感

Authyに特に問題があった訳ではなく使い勝手が良かったのでこれから導入する人にはお勧めできる。 password-storeを使う方が時代に逆行しているので参考にしない方がよい。