Pass:Unix Password Store

目次
LinuxのCLIパスワード管理ツール「pass」の概要と基本操作
passとは何か
pass(Unix Password Store)は、Linuxを中心としたUnix系環境で利用されるCLIベースのパスワード管理ツールです。「1パスワード=1ファイル」という非常にシンプルな思想を採用しており、パスワードや秘密情報をGPGで暗号化したテキストファイルとして管理します。GUIに依存せず、ターミナル操作・スクリプト・gitとの親和性が非常に高いため、エンジニアやサーバー管理者を中心に長年支持されているツールです。
passの基本思想
- すべてはテキスト: パスワードは暗号化されたテキストファイルとして保存
- ディレクトリ=分類: フォルダ構成でサービスや用途を整理
- GPGによる暗号化: 公開鍵暗号を使い、安全に保管
- gitで履歴管理: 変更履歴・バックアップ・同期が容易
passで管理できる情報
- Webサービスやシステムのログインパスワード
- SSH鍵のパスフレーズ
- APIキー・トークン
- データベース接続情報
- メモ・補足情報(ユーザー名、URL、注意事項など)
passの特徴
- 完全CLI操作: すべての操作をコマンドで完結でき、リモート環境やサーバー上でも扱いやすい
- gitとの高い親和性: パスワードストア全体をgitリポジトリとして管理可能
- 透明性の高い構造: 独自データベースを使わず、ファイル構造がそのまま中身になる
- 軽量・依存が少ない: 必要なのはGPGと基本的なUnixツールのみ
passが向いている利用シーン
- ターミナル中心で作業するエンジニア・管理者
- dotfilesや設定ファイルをgit管理している環境
- SSH・APIキーなどを安全に扱いたい場合
- スクリプトや自動化処理と連携したい場合
passの初期化:pass init
passを使い始めるには、まずどのGPG鍵で暗号化するかを指定して初期化します。この操作により、パスワードストア(通常は ~/.password-store)が作成されます。
$ pass init your@email.address- 指定したGPG公開鍵で、以降のすべてのパスワードが暗号化される
- 複数鍵を指定すれば、複数人・複数端末での復号も可能
- 内部的には
.gpg-idファイルが作成される
パスワードの登録:pass insert
新しいパスワードや秘密情報を登録するには pass insert を使用します。登録時には対話的にパスワードを入力します。
$ pass insert service/exampleservice/exampleがそのままファイルパスになる- 入力内容はGPGで暗号化されて保存される
- ディレクトリを使って自由に分類できる
- 複数行の情報(ユーザー名、URL、メモなど)もそのままテキストとして保存可能
パスワードの表示:pass show
登録済みのパスワードを表示するには pass show を使います。GPG鍵が有効な環境でのみ、復号された内容が表示されます。
$ pass show service/example- 標準出力にパスワードやメモが表示される
- スクリプトや他コマンドとパイプで連携しやすい
- クリップボードコピー用の拡張コマンドも存在
passのディレクトリ構成イメージ
~/.password-store/
├── service
│ ├── example.gpg
│ └── test.gpg
├── server
│ └── db.gpg
└── .gpg-idこの構造自体が管理ルールになるため、内容が非常に分かりやすく、git管理との相性も抜群です。
まとめ
passは「シンプル・透明・安全」を徹底した、Unix哲学に沿ったCLIパスワード管理ツールです。pass initで暗号化環境を整え、pass insertで安全に情報を登録し、pass showで必要なときに取り出すという直感的な操作体系が最大の魅力。ターミナル中心の作業やgit管理を前提とした環境では非常に扱いやすく、Linuxでの秘密情報管理の基本として押さえておきたいツールです。





