1 Password Command-Line ToolでOTPを得る

2022/11/27に公開

はじめに

Gemのリリースを自動化しようと思ったのですが、Multi-Factor Authentication (MFA) を設定しているので、One Time Password (OTP) の入力が必要になりました。YubiKeyを使った方法はありましたが、1 Passwordを使っているので、1 Passwordではどうやるのかな??と思って調べました。

https://tenderlovemaking.com/2021/10/26/publishing-gems-with-your-yubikey.html

手順

1 PasswordのCommand-Line Toolを使えばイケました。

https://1password.com/jp/downloads/command-line/

homebrewでインストールできたので、そちらでやりました。

$ brew install 1password-cli
# ...
🍺  1password-cli was successfully installed!
$ eval $(op signin)
No accounts configured for use with 1Password CLI.
# ...
# Emergency Kitの内容とサインインパスワードを入力していく
Do you want to add an account manually now? [Y/n] Y
Enter your sign-in address (example.1password.com):
Enter the email address for your account on my.1password.com:
Enter the Secret Key for atatsuma@outlook.com on my.1password.com:
Enter the password for atatsuma@outlook.com at my.1password.com:

opコマンドでotpオプションつければ、OTPが取れました。あとは環境変数 GEM_HOST_OTP_CODE にこれを入れればOKです。

$ op item get "RubyGems.orgとかアイテム名" --otp
123456

Discussion