GNOME/Keyring
GnomeKeyring より:
- GNOME Keyring はパスワード・鍵・証明書などを保存してアプリケーションから利用できるようにする GNOME のコンポーネントです。
目次
インストール
GNOME を使用している場合、gnome-keyring は gnome グループの一つとして自動的にインストールされます。GNOME を使っていない場合は、公式リポジトリかr gnome-keyring をインストールしてください。
GUI で管理
GNOME Keyring は Seahorse を使って管理することができます。公式リポジトリから seahorse パッケージをインストールしてください。
GNOME Keyring のパスワードを空にしたり変更することが可能です。Seahorse を開いて、ドロップダウンメニューの "View" から "By Keyring" を選択してください。Passwords タブを開いて、"Passwords: login" を右クリックして "Change password" を選択してください。旧パスワードを入力してから新しいパスワードを入力します。暗号化されていないストレージを使用しているという警告が表示されるので "Use Unsafe Storage" を押して下さい。
GNOME やディスプレイマネージャを使用しない
自動ログイン
自動ログインを使っている場合、ログインキーリングに空のパスワードを設定することでキーリングマネージャを無効化することができます。
コンソールログイン
コンソールによるログインを使っている場合、PAM か xinitrc を使ってキーリングデーモンを起動することができます。PAM ではログイン時に自動的にキーリングのロックを解除することもできます。
PAM を使う
/etc/pam.d/login
から gnome-keyring-daemon を起動:
auth
セクションの最後に auth optional pam_gnome_keyring.so
を追加して session
セクションの最後に session optional pam_gnome_keyring.so auto_start
を追加してください。
/etc/pam.d/login
#%PAM-1.0 auth required pam_securetty.so auth requisite pam_nologin.so auth include system-local-login auth optional pam_gnome_keyring.so account include system-local-login session include system-local-login session optional pam_gnome_keyring.so auto_start
次に、/etc/pam.d/passwd
の最後に password optional pam_gnome_keyring.so
を追加してください。
/etc/pam.d/passwd
#%PAM-1.0 #password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 #password required pam_unix.so sha512 shadow use_authtok password required pam_unix.so sha512 shadow nullok password optional pam_gnome_keyring.so
xinitrc を使う
xinitrc から gnome-keyring-daemon を起動:
~/.xinitrc
eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh) export SSH_AUTH_SOCK
スケルトンの .xinitrc
では D-Bus セッションが起動します。詳しくは FS#13986 を参照。
キーリングからの情報の取得に問題が発生する場合、問題の環境で DBUS_SESSION_BUS_ADDRESS
がエクスポートされていることを確認してください (DBUS_SESSION_BUS_PID
はエクスポートされません)。
Xfce で使う場合 SSH エージェントを参照。
GNOME は使わないがディスプレイマネージャは使用する
ディスプレイマネージャを使う場合、ほとんどの場合、何も設定しなくてもキーリングは動作します。以下のディスプレイマネージャはログイン時にキーリングのロックを自動的に解除します:
KDM についは、KDM#KDM と Gnome-keyring を見て下さい。
SSH などのターミナルから動作させるアプリケーションからキーリングを使えるようにするには、以下を ~/.bash_profile
や ~/.zshenv
に追加してください:
~/.zshenv
if [ -n "$DESKTOP_SESSION" ];then eval $(gnome-keyring-daemon --start) export SSH_AUTH_SOCK fi
キーリングデーモンの無効化
別の SSH エージェントを使いたい場合 (例: ssh-agent)、GNOME Keyring デーモンの SSH コンポーネントを無効化する必要があります:
# ln -sf /dev/null /etc/xdg/autostart/gnome-keyring-ssh.desktop
ログアウトすることで変更が適用されます。
SSH 鍵
SSH 鍵を追加するには:
$ ssh-add ~/.ssh/id_dsa Enter passphrase for /home/mith/.ssh/id_dsa:
自動でロードされている鍵を確認するには:
$ ssh-add -L
全ての鍵を無効化するには:
$ ssh-add -D
Now when you connect to a server, the key will be found and a dialog will popup asking you for the passphrase. It has an option to automatically unlock the key when you log in. If you check this, you will not need to enter your passphrase again!
Alternatively, to permanently save the a passphrase in the keyring, use seahorse-ssh-askpass from package seahorse:
/usr/lib/seahorse/seahorse-ssh-askpass my_key
アプリケーションとの統合
パスフレーズの消去
$ gnome-keyring-daemon -r -d
This command starts gnome-keyring-daemon, shutting down previously running instances.
GNOME Keyring と Git
The GNOME keyring is useful in conjuction with Git when you are pushing over HTTPS.
まず公式リポジトリから libgnome-keyring パッケージをインストールしてください。
そしてヘルパーをコンパイルします:
$ cd /usr/share/git/credential/gnome-keyring # make
ヘルパーを使うように Git を設定:
$ git config --global credential.helper /usr/lib/git-core/git-credential-gnome-keyring
Next time you do a git push, you are asked to unlock your keyring, if not unlocked already.
便利なツール
(libsecret パッケージに含まれている) secret-tool
はコマンドラインから GNOME Keyring (やその他の DBus Secret Service API を実装しているサービス) にアクセスすることができます。
AUR の gnome-keyring-queryAUR は GNOME Keyring からパスワードを問い合わせのに使うシンプルなコマンドラインツールです。