概要
pass は、Unix哲学に基づいた シンプルなパスワード管理ツール。 パスワードは gpgで暗号化されたファイル として保存。 標準的な コマンドライン操作やgit連携 に対応。 拡張性・柔軟性が高く、他ツールからの移行も容易。 多くの クライアントや拡張機能 がコミュニティにより提供。
pass の概要と特徴
- Unix哲学 に基づく、シンプルなパスワード管理ツール
- 各パスワードは gpgで暗号化されたファイル として保存
- ファイル名は ウェブサイトやリソース名 で管理
- ディレクトリ階層 で整理可能、標準コマンドで操作
- パスワードは ~/.password-store に保存
- 追加、編集、生成、取得 などのコマンドを提供
- クリップボードへの一時コピー や gitによるバージョン管理 に対応
- bash, zsh, fish の補完機能
- 多様なクライアントやGUI、拡張機能 がコミュニティで開発
基本的な使い方
- 既存のパスワード一覧表示
passコマンドで 全パスワードの階層表示
- パスワードの表示
pass パス名で 該当パスワードを表示
- クリップボードへのコピー
pass -c パス名で 一時的にクリップボードへコピー
- パスワードの追加
pass insert パス名で 新規パスワードを登録- 複数行対応 :
--multilineまたは-m
- パスワードの編集
pass edit パス名で デフォルトエディタで編集
- パスワードの自動生成
pass generate パス名 長さで ランダム生成- 記号なし生成 :
--no-symbolsまたは-n - クリップボード直送 :
--clipまたは-c
- パスワードの削除
pass rm パス名で 削除操作
git連携
- パスワードストアを gitリポジトリとして初期化 可能
- 各操作ごとに 自動でgitコミット
pass git pushやpass git pullで 同期管理
初期設定
- ストアの初期化
pass init "GPG鍵ID"で GPG鍵を指定して初期化- 複数GPG鍵やチーム利用 にも対応(
-pでフォルダごとに鍵指定可能)
- gitリポジトリの初期化
pass git initで ストア内にgitリポジトリ作成
インストール方法
- Ubuntu / Debian :
sudo apt-get install pass - Fedora / RHEL :
sudo yum install pass - openSUSE :
sudo zypper in password-store - Gentoo :
emerge -av pass - Arch Linux :
pacman -S pass - Macintosh (Homebrew) :
brew install pass - FreeBSD :
pkg install password-store - ソースコード :
git clone https://git.zx2c4.com/password-store
データ構成と柔軟性
- 特定のデータ構造を強制しない フラットテキストファイル形式
- 複数行機能 (--multiline/-m)でパスワード以外の情報も保存可能
- 例:1行目にパスワード、2行目以降にURLや秘密の質問等
- クリップボードコピーは1行目のみ
- フォルダ分けやファイル分割 による柔軟な整理も可能
- ユーザーの好みに合わせた運用 が可能
拡張機能(Extensions)
/usr/lib/password-store/extensionsや~/.password-store/.extensions/に設置- 環境変数PASSWORD_STORE_ENABLE_EXTENSIONS で有効化
- 主要な拡張例
- pass-tomb:Tombによるストア管理
- pass-update:パスワード更新フロー
- pass-import:他マネージャからのインポート
- pass-otp:ワンタイムパスワード対応
対応クライアント・ツール
- passmenu :dmenuスクリプト
- qtpass :クロスプラットフォームGUI
- Android-Password-Store :Androidアプリ
- passforios, pass-ios :iOSアプリ
- passff, browserpass :Firefox/Chromeプラグイン
- Pass4Win :Windowsクライアント
- gopass, upass :Go製GUIやインタラクティブUI
- Alfred連携 :複数のAlfred統合スクリプト
- emacs, XMonad対応 :各種エディタ・ウィンドウマネージャ統合
他ツールからの移行
- 1Password, Keepass, Lastpass, Firefox 等からのインポートスクリプト多数
- 例:1password2pass.rb, keepassx2pass.py, lastpass2pass.rb, firefox_decrypt など
ライセンス・開発体制
- 作者 :Jason A. Donenfeld (zx2c4.com)
- ライセンス :GPLv2+
- 活発な開発・貢献方法
- メーリングリスト参加、gitパッチ送付
- IRC (#pass on Libera.Chat)で議論可能