GNOME/Keyring

提供: ArchWiki
2015年8月7日 (金) 23:04時点におけるKusakata (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

GnomeKeyring より:

GNOME Keyring はパスワード・鍵・証明書などを保存してアプリケーションから利用できるようにする GNOME のコンポーネントです。
ノート: 2015年7月10日現在、GNOME Keyring は ECDSA[1] と Ed25519[2] 鍵を扱うことができません。これらの鍵を使う必要がある場合は他の SSH エージェントを使用して下さい。

インストール

GNOME を使用している場合、gnome-keyringgnome グループの一つとして自動的にインストールされます。GNOME を使っていない場合は、公式リポジトリかr gnome-keyring をインストールしてください。

GUI で管理

GNOME Keyring は Seahorse を使って管理することができます。公式リポジトリから seahorse パッケージをインストールしてください。

GNOME Keyring のパスワードを空にしたり変更することが可能です。Seahorse を開いて、ドロップダウンメニューの "View" から "By Keyring" を選択してください。Passwords タブを開いて、"Passwords: login" を右クリックして "Change password" を選択してください。旧パスワードを入力してから新しいパスワードを入力します。暗号化されていないストレージを使用しているという警告が表示されるので "Use Unsafe Storage" を押して下さい。

GNOME やディスプレイマネージャを使用しない

自動ログイン

自動ログインを使っている場合、ログインキーリングに空のパスワードを設定することでキーリングマネージャを無効化することができます。

ノート: この場合はパスワードは暗号化されていない状態で保存されます。

コンソールログイン

コンソールによるログインを使っている場合、PAMxinitrc を使ってキーリングデーモンを起動することができます。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
ノート: 自動でロックを解除したい場合、ユーザーアカウントとキーリングに同一のパスワードを設定する必要があります。
ノート: You will still need the code in ~/.xinitrc below in order to export the environment variables required.

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 を参照。

ノート: GNOME_KEYRING_PID has been removed, and GNOME_KEYRING_CONTROL is not written if XDG_RUNTIME_DIR is set. See [3]

キーリングからの情報の取得に問題が発生する場合、問題の環境で DBUS_SESSION_BUS_ADDRESS がエクスポートされていることを確認してください (DBUS_SESSION_BUS_PID はエクスポートされません)。

Xfce で使う場合 SSH エージェントを参照。

GNOME は使わないがディスプレイマネージャは使用する

ディスプレイマネージャを使う場合、ほとんどの場合、何も設定しなくてもキーリングは動作します。以下のディスプレイマネージャはログイン時にキーリングのロックを自動的に解除します:

ノート: You may need to install libgnome-keyring

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
ノート: The GNOME Keyring Daemon no longer exposes GNOME_KEYRING_PID. See commit.

キーリングデーモンの無効化

別の 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
ノート: You have to have a have the corresponding .pub file in the same directory as the private key (~/.ssh/id_dsa.pub in the example). Also, make sure that the public key is the file name of the private key plus .pub (for example, my_key.pub).

アプリケーションとの統合

パスフレーズの消去

$ 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 からパスワードを問い合わせのに使うシンプルなコマンドラインツールです。