UbuntuのKeyringとは
Ubuntu(や他のLinuxディストリビューション)で利用できる Keyring は、ユーザーのパスワードや暗号鍵、証明書といった機密情報を安全に保存・管理するための仕組みです。KeyringはOSに組み込まれた暗号化ストレージとして動作し、アプリケーションが必要とする認証情報へのアクセスを統一的に提供します。
主な特徴
- 統合的管理:Firefox、Chromium、SSH、GPG など、様々なアプリが同じKeyringに格納された情報を利用できる。
- 自動ロック/アンロック:ログイン時に自動でアンロックされ、画面ロックや一定時間経過後に自動でロックされる。
- 暗号化保存:保存されたデータはユーザーのログインパスワードで暗号化され、平文でディスクに残らない。
- CLI と GUI の両方で操作可能:
secret-toolやgnome-keyringの設定画面で管理できる。
代表的な実装
- gnome-keyring:GNOMEデスクトップ環境のデフォルト実装。デーモンとして常駐し、D-Bus経由でアプリと連携。
- kwallet:KDE環境向けのKeyring実装。gnome-keyringと同様の機能を提供。
- libsecret:D-BusベースのSecret Service APIを実装したライブラリ。gnome-keyringと互換性がある。
よく使われるコマンド例
# パスワードを保存
secret-tool store --label="My SSH Key" service ssh user myuser
# 保存されたパスワードを取得
secret-tool lookup service ssh user myuser
# キーリングの内容を一覧表示(gnome-keyringの場合)
secret-tool search --all ''
Keyringの設定とトラブルシューティング
- 自動ロックの設定:
gnome-keyring-daemonのオプション--lock-on-suspendや--timeoutでロックタイミングを調整。 - ロック解除にパスフレーズが必要な場合:ログインパスワードとKeyringのパスワードが違うと、ログイン直後にパスフレーズ入力が求められる。設定画面で同一に統一できる。
- デーモンが起動しない:
systemctl --user status gnome-keyring-daemon.serviceで状態を確認し、必要なら再起動systemctl --user restart gnome-keyring-daemon.service。 - バックアップと復元:Keyringのデータは
~/.local/share/keyrings/に保存されているので、重要な情報は定期的に暗号化してバックアップする。
まとめ
UbuntuのKeyringは、パスワードや秘密鍵といった機密情報を安全に管理し、ユーザー体験を向上させる重要なコンポーネントです。gnome-keyring を中心に、CLI と GUI の両方で柔軟に操作できるため、日常的な認証情報の取り扱いをシンプルかつ安全に行うことができます。