op

1$ brew install --cask 1password-cli

パスワード管理ソフト1passwordを操作するコマンドです。 Homebrew Caskを使ってインストールできます。

作成や更新、削除はアプリから実行したほうがよいと思いますが、 ターミナルからユーザー名やパスワードを確認できるので便利です。

バージョンを確認したい

$ op --version
2.30.3

サインインしたい(signin

$ op signin

opコマンドをはじめて使う場合、まず1Password.app本体の設定が必要です。 設定は公式ドキュメントを参照してください。 ここに書いてある通りに進めるとTouchIDを使って認証できるようになります。

保管庫を一覧したい

1$ op vault list
2ID    NAME

op valutコマンドで、保管庫を操作できます。

アイテムを一覧したい(op item list

$ op item list
ID    TITLE    VAULT    EDITED

op itemコマンドで、登録したアイテムを操作できます。

$ op item list | rg アイテム名(の一部)

たくさんアイテムを登録している場合は、 rgなどの検索コマンドにパイプして、TITLE(アイテム名)を確認します。

アイテムを取得したい(op item get

$ op item get "アイテム名"
ID:          アイテムのID(ランダムな文字列)
Title:       アイテム名(TITLE)
Vault:       保管庫の名前
Created:     作成日 ago
Updated:     更新日 ago by ユーザー名
Favorite:    false | true
Version:     リビジョン番号
Category:    カテゴリー名
Fields:
  username:    ユーザー名
  password:    パスワード(を取得する方法)
  URL:         ログインURL

op item getでアイテムの詳細を確認できます。 アイテム名が空白を含む場合は、"..."で囲います。

フィールド名を確認したい

// フィールド名(=label)を確認
$ op item get "アイテム名" --format json | jq '.fields[] | {label}'

// フィールド名と値を確認
$ op item get "アイテム名" --format json | jq '.fields[] | {label,value}'

フィールド名を確認する場合はJSON形式で出力して jqコマンドで抽出します。

フィールドを取得したい

$ op item get "アイテム名" --field ラベル名

// ユーザー名を表示
$ op item get "アイテム名" --field username

--field ラベル名オプションで、アイテムのフィールドを取得できます。

// パスワードを表示
$ op item get "アイテム名" --field password
[use 'op item get 文字列 --reveal' to reveal]

パスワードはそのままでは表示されません。

パスワードを取得したい

$ op item get "アイテム名" --field password --reveal
(パスワードが表示される)

--revealオプションを追加すると、パスワードを確認できます。

$ op item get "アイテム名" --field password --reveal | pbcopy
$ pbpaste

pbcopyコマンドにパイプして、 システムのクリップボードにコピーできます。 クリップポードの内容はそのまま貼り付け(⌘-v)たり、 pbpasteコマンドで取得したりできます。

OTPを取得したい(--otp

$ op item get "アイテム名" --otp
NNNNNN

ワンタイムパスワードを設定しているアイテムでは --otpでOTPを取得できます。

$ op item get "アイテム名" --otp | pbcopy
$ pbpaste

OTPもパイプしてクリップボードにコピーできます。