grasys blog

E2EE パスワードマネジャーの CLI 版でランダムなフレーズを生成する

Proton Pass の動作が軽快なわりに高機能なので気に入ってますが、CLI版が登場したのでやりたかったことをしてみます。

Proton Pass はフレーズ/パスワードを生成してくれるツールですが、この記事では主にリソース命名に使える読みやすいフレーズの生成を扱います。

一時的なリソース作成のために簡単なワードを生成する

何かリソースを作成するときに命名は重要になりますが、適当でいいなら簡単なコードネームのようなもので十分じゃないでしょうか。

なので画像下部にあるプロジェクト ID のような読みやすいワードを生成したいことが結構あります。

デフォルトでは下部のようなマシンの名前となります。

生成したワードを使った名前にしました。

個人的に見慣れないワードですがこんなので良いと思ってます。自身からフレーズひねり出すと偏りが出そうなので。

これで生成できます。

pass-cli password generate passphrase --capitalise false --count 1

Proton Pass CLI をインストールする

pass-cli をインスールするには公式の手順に従えばよいですが $HOME/.local/bin または /usr/local/bin にインストールされます。PROTON_PASS_CLI_INSTALL_DIR 環境変数に都合の良い場所をセットして実行することもできます。

https://protonpass.github.io/pass-cli

例えばこんな感じになるはず。

curl -fsSL https://proton.me/download/pass-cli/install.sh | PROTON_PASS_CLI_INSTALL_DIR=/custom/path bash

install.sh の冒頭に記述があります。

# Proton Pass CLI Installation Script
# Usage: curl -fsSL https://proton.me/download/pass-cli/install.sh | bash
# Or with custom install dir: PROTON_PASS_CLI_INSTALL_DIR=/custom/path bash install.sh
# Or with custom channel: PROTON_PASS_CLI_INSTALL_CHANNEL=beta bash install.sh

今までどうしてたのか

辞書を見に行って例えば 15:00 だったら 1500行目のワードを持ってきて自分の感覚で数字くっつけたりしてました。

sed -n 1500p /usr/share/dict/words

そもそも Proton Pass のいいところはすぐに他人と被らないメールアドレスの発行と適切なパスワード生成結果を保存できるところで、ちゃんと複雑なことも簡単にできます。

パスワード生成のように簡単に思いつきにくいランダムな文字列を生成するのに openssl を呼び出してもよいのですがそもそもプロジェクトやプロダクトによって生成器が違うわけで、じゃあ自分の感覚でやってたことは Proton Pass に寄せてみようってところです。


採用情報
お問い合わせ