「GNOME/Keyring」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(空白を削除)
(同期)
6行目: 6行目:
 
== インストール ==
 
== インストール ==
 
GNOME を使用している場合、{{Pkg|gnome-keyring}} は {{grp|gnome}} グループの一つとして自動的にインストールされます。GNOME を使っていない場合は、[[公式リポジトリ]]から {{Pkg|gnome-keyring}} をインストールしてください。
 
GNOME を使用している場合、{{Pkg|gnome-keyring}} は {{grp|gnome}} グループの一つとして自動的にインストールされます。GNOME を使っていない場合は、[[公式リポジトリ]]から {{Pkg|gnome-keyring}} をインストールしてください。
  +
  +
便利なユーティリティ:
  +
* {{App|secret-tool|コマンドラインから GNOME Keyring (や [http://standards.freedesktop.org/secret-service/ DBus Secret Service API] が実装された他のサービス) にアクセス。|https://wiki.gnome.org/Projects/Libsecret|{{Pkg|libsecret}}}}
  +
* {{App|gnome-keyring-query|GNOME Keyring に保存したパスワードを確認するためのシンプルなコマンドラインツール。|http://www.gentoo-wiki.info/HOWTO_Use_gnome-keyring_to_store_SSH_passphrases|{{AUR|gnome-keyring-query}}}}
  +
* {{App|gkeyring|コマンドラインからパスワードを確認する。[[Git]] バージョンではアイテムの名前や id を知らなくても全てのパスワードを確認可能。|https://github.com/kparal/gkeyring|{{AUR|gkeyring}}, {{AUR|gkeyring-git}}}}
   
 
== GUI で管理 ==
 
== GUI で管理 ==
12行目: 17行目:
 
GNOME Keyring のパスワードを空にしたり変更することが可能です。Seahorse を開いて、ドロップダウンメニューの "View" から "By Keyring" を選択してください。Passwords タブを開いて、"Passwords: login" を右クリックして "Change password" を選択してください。旧パスワードを入力してから新しいパスワードを入力します。暗号化されていないストレージを使用しているという警告が表示されるので "Use Unsafe Storage" を押して下さい。
 
GNOME Keyring のパスワードを空にしたり変更することが可能です。Seahorse を開いて、ドロップダウンメニューの "View" から "By Keyring" を選択してください。Passwords タブを開いて、"Passwords: login" を右クリックして "Change password" を選択してください。旧パスワードを入力してから新しいパスワードを入力します。暗号化されていないストレージを使用しているという警告が表示されるので "Use Unsafe Storage" を押して下さい。
   
== GNOME やディスプレイマネジャを使用しない ==
+
== GNOME 以外でキリングを使用する ==
  +
=== 自動ログイン ===
 
  +
=== ディスプレイマネージャを使わない ===
  +
  +
==== 自動ログイン ====
 
自動ログインを使っている場合、ログインキーリングに空のパスワードを設定することでキーリングマネージャを無効化することができます。
 
自動ログインを使っている場合、ログインキーリングに空のパスワードを設定することでキーリングマネージャを無効化することができます。
 
{{Note|この場合はパスワードは暗号化されていない状態で保存されます。}}
 
{{Note|この場合はパスワードは暗号化されていない状態で保存されます。}}
   
=== コンソールログイン ===
+
==== コンソールログイン ====
 
コンソールによるログインを使っている場合、[[Wikipedia:Pluggable authentication module|PAM]] か [[xinitrc]] を使ってキーリングデーモンを起動することができます。PAM ではログイン時に自動的にキーリングのロックを解除することもできます。
 
コンソールによるログインを使っている場合、[[Wikipedia:Pluggable authentication module|PAM]] か [[xinitrc]] を使ってキーリングデーモンを起動することができます。PAM ではログイン時に自動的にキーリングのロックを解除することもできます。
   
==== PAM を使う ====
+
===== PAM を使う =====
 
{{ic|/etc/pam.d/login}} から gnome-keyring-daemon を起動:
 
{{ic|/etc/pam.d/login}} から gnome-keyring-daemon を起動:
   
45行目: 53行目:
 
'''password optional pam_gnome_keyring.so'''}}
 
'''password optional pam_gnome_keyring.so'''}}
   
  +
{{Note|
{{Note|自動でロックを解除したい場合、ユーザーアカウントとキーリングに同一のパスワードを設定する必要があります。}}
 
  +
* 自動でロックを解除したい場合、ユーザーアカウントとキーリングに同一のパスワードを設定する必要があります。
  +
* 上記の設定だけでは不十分で {{ic|~/.xinitrc}} に以下のコードを記述して環境変数をエクスポートする必要があります。}}
   
  +
===== xinitrc を使う =====
{{Note|You will still need the code in {{ic|~/.xinitrc}} below in order to export the environment variables required.}}
 
 
==== xinitrc を使う ====
 
   
 
[[xinitrc]] から gnome-keyring-daemon を起動:
 
[[xinitrc]] から gnome-keyring-daemon を起動:
66行目: 74行目:
 
Xfce で使う場合 [[Xfce#SSH_エージェント|SSH エージェント]]を参照。
 
Xfce で使う場合 [[Xfce#SSH_エージェント|SSH エージェント]]を参照。
   
== GNOME は使わないがディスプレイマネージャ使用する ==
+
=== ディスプレイマネージャ使 ===
 
ディスプレイマネージャを使う場合、ほとんどの場合、何も設定しなくてもキーリングは動作します。以下のディスプレイマネージャはログイン時にキーリングのロックを自動的に解除します:
 
ディスプレイマネージャを使う場合、ほとんどの場合、何も設定しなくてもキーリングは動作します。以下のディスプレイマネージャはログイン時にキーリングのロックを自動的に解除します:
 
* GNOME のログインマネージャ {{pkg|gdm}}
 
* GNOME のログインマネージャ {{pkg|gdm}}
73行目: 81行目:
 
{{Note|{{pkg|libgnome-keyring}} をインストールする必要があるかもしれません。}}
 
{{Note|{{pkg|libgnome-keyring}} をインストールする必要があるかもしれません。}}
 
KDM については、[[KDM#KDM と Gnome-keyring]] を見て下さい。
 
KDM については、[[KDM#KDM と Gnome-keyring]] を見て下さい。
  +
  +
SDDM の場合、KDM のガイドラインに従ってください。ただし {{ic|/etc/pam.d/kde}} は {{ic|/etc/pam.d/sddm}} に変更してください。
   
 
SSH などのターミナルから動作させるアプリケーションからキーリングを使えるようにするには、以下を {{ic|~/.bash_profile}} や {{ic|~/.zshenv}} に追加してください:
 
SSH などのターミナルから動作させるアプリケーションからキーリングを使えるようにするには、以下を {{ic|~/.bash_profile}} や {{ic|~/.zshenv}} に追加してください:
82行目: 92行目:
 
fi</nowiki>}}
 
fi</nowiki>}}
   
{{Note|1=The GNOME Keyring Daemon no longer exposes {{ic|GNOME_KEYRING_PID}}. See [https://mail.gnome.org/archives/commits-list/2014-March/msg03864.html commit].}}
+
{{Note|1=GNOME Keyring デーモンは {{ic|GNOME_KEYRING_PID}} をもはや使いません。[https://mail.gnome.org/archives/commits-list/2014-March/msg03864.html] を参照。}}
 
== キーリングデーモンの無効化 ==
 
別の SSH エージェントを使いたい場合 (例: [[SSH 鍵#ssh-agent|ssh-agent]])、GNOME Keyring デーモンの SSH コンポーネントを無効化する必要があります:
 
# ln -sf /dev/null /etc/xdg/autostart/gnome-keyring-ssh.desktop
 
ログアウトすることで変更が適用されます。
 
   
 
== SSH 鍵 ==
 
== SSH 鍵 ==
109行目: 114行目:
 
/usr/lib/seahorse/seahorse-ssh-askpass my_key
 
/usr/lib/seahorse/seahorse-ssh-askpass my_key
   
  +
{{Note|秘密鍵と同じディレクトリ (上記の例では {{ic|~/.ssh/id_dsa.pub}}) に対応する {{ic|.pub}} ファイルが必要です。また、公開鍵のファイル名が秘密鍵に {{ic|.pub}} を付けた名前になっていることを確認してください (例: {{ic|my_key.pub}})。}}
{{Note|You have to have a have the corresponding {{ic|.pub}} file in the same directory as the private key ({{ic|~/.ssh/id_dsa.pub}} in the example). Also, make sure that the public key is the file name of the private key plus {{ic|.pub}} (for example, {{ic|my_key.pub}}).}}
 
  +
  +
=== キーリングデーモンの無効化 ===
  +
別の SSH エージェントを使いたい場合 (例: [[SSH 鍵#ssh-agent|ssh-agent]])、GNOME Keyring デーモンの SSH コンポーネントを無効化する必要があります:
  +
# ln -sf /dev/null /etc/xdg/autostart/gnome-keyring-ssh.desktop
  +
ログアウトすることで変更が適用されます。
  +
  +
== Tips and tricks ==
   
== アプリケーションとの統合 ==
+
=== アプリケーションとの統合 ===
   
 
* [[Firefox#GNOME キーリングの統合]]
 
* [[Firefox#GNOME キーリングの統合]]
   
== パスフレーズの消去 ==
+
=== パスフレーズの消去 ===
   
 
$ gnome-keyring-daemon -r -d
 
$ gnome-keyring-daemon -r -d
121行目: 133行目:
 
上記のコマンドで、実行中のインスタンスが終了して、新しい gnome-keyring-daemon が起動します。
 
上記のコマンドで、実行中のインスタンスが終了して、新しい gnome-keyring-daemon が起動します。
   
== GNOME Keyring と Git ==
+
=== GNOME Keyring と Git ===
 
HTTPS でプッシュするときに [[Git]] と GNOME Keyring を組み合わせると便利です。
 
HTTPS でプッシュするときに [[Git]] と GNOME Keyring を組み合わせると便利です。
   
133行目: 145行目:
 
これで ''git push'' を実行したときに、キーリングのロックが解除されていなかった場合、解除するように要求されます。
 
これで ''git push'' を実行したときに、キーリングのロックが解除されていなかった場合、解除するように要求されます。
   
  +
== トラブルシューティング ==
== 便利なツール ==
 
({{pkg|libsecret}} パッケージに含まれている) {{ic|secret-tool}} はコマンドラインから GNOME Keyring (やその他の [http://standards.freedesktop.org/secret-service/ DBus Secret Service API] を実装しているサービス) にアクセスすることができます。
 
   
  +
=== パスワードが保存されない ===
AUR の {{AUR|gnome-keyring-query}} は GNOME Keyring からパスワードを問い合わせるのに使うシンプルなコマンドラインツールです。
 
   
  +
ログイン時に毎回パスワードプロンプトが表示され、パスワードが保存されない場合は、デフォルトのキーリングを作成・設定する必要があります。
また、{{AUR|gkeyring}} もコマンドラインからパスワードを問い合わせることができます。
 
   
  +
{{pkg|seahorse}} パッケージをインストールして、システム設定から "パスワードと秘密鍵" を開いて ''View'' > ''By Keyring'' を選択してください。左カラムにキーリングが存在しない場合 (鍵のアイコン)、''File'' > ''New'' > ''Password Keyring'' とたどって名前を付けて下さい。パスワードの入力を求められます。パスワードを入力しないと自動的にパスワード解除されるようになります (自動ログインを使っている場合も)、ただしパスワードは安全に保存されません。最後に、作成したキーリングを右クリックして "Set as default" を選択してください。
上記の3つのアプリケーションと異なり、{{AUR|gkeyring-git}} は全てのパスワードを確認でき、アイテムの id や名前を覚える必要はありません。
 

2016年1月11日 (月) 18:09時点における版

GnomeKeyring より:

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

インストール

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

便利なユーティリティ:

  • secret-tool — コマンドラインから GNOME Keyring (や DBus Secret Service API が実装された他のサービス) にアクセス。
https://wiki.gnome.org/Projects/Libsecret || libsecret
  • gnome-keyring-query — GNOME Keyring に保存したパスワードを確認するためのシンプルなコマンドラインツール。
http://www.gentoo-wiki.info/HOWTO_Use_gnome-keyring_to_store_SSH_passphrases || gnome-keyring-queryAUR
  • gkeyring — コマンドラインからパスワードを確認する。Git バージョンではアイテムの名前や id を知らなくても全てのパスワードを確認可能。
https://github.com/kparal/gkeyring || gkeyringAUR, gkeyring-gitAUR

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
ノート:
  • 自動でロックを解除したい場合、ユーザーアカウントとキーリングに同一のパスワードを設定する必要があります。
  • 上記の設定だけでは不十分で ~/.xinitrc に以下のコードを記述して環境変数をエクスポートする必要があります。
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 は削除されました。XDG_RUNTIME_DIR が設定されている場合 GNOME_KEYRING_CONTROL は書き込まれません。[3] を参照。

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

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

ディスプレイマネージャを使う

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

ノート: libgnome-keyring をインストールする必要があるかもしれません。

KDM については、KDM#KDM と Gnome-keyring を見て下さい。

SDDM の場合、KDM のガイドラインに従ってください。ただし /etc/pam.d/kde/etc/pam.d/sddm に変更してください。

SSH などのターミナルから動作させるアプリケーションからキーリングを使えるようにするには、以下を ~/.bash_profile~/.zshenv に追加してください:

~/.zshenv
if [ -n "$DESKTOP_SESSION" ];then
    eval $(gnome-keyring-daemon --start)
    export SSH_AUTH_SOCK
fi
ノート: GNOME Keyring デーモンは GNOME_KEYRING_PID をもはや使いません。[4] を参照。

SSH 鍵

SSH 鍵を追加するには:

$ ssh-add ~/.ssh/id_dsa
Enter passphrase for /home/mith/.ssh/id_dsa:

自動でロードされている鍵を確認するには:

$ ssh-add -L

全ての鍵を無効化するには:

$ ssh-add -D

サーバーに接続するときに、鍵が使われてパスフレーズの入力を求めるダイアログがポップアップするようになります。ログイン時に自動的にロックを解除するオプションもあります。このオプションにチェックを入れている場合、もうパスフレーズを入力する必要はなくなります。

もしくは、キーリングにパスフレーズを永続的に保存したい場合、seahorse パッケージの seahorse-ssh-askpass を使います:

/usr/lib/seahorse/seahorse-ssh-askpass my_key
ノート: 秘密鍵と同じディレクトリ (上記の例では ~/.ssh/id_dsa.pub) に対応する .pub ファイルが必要です。また、公開鍵のファイル名が秘密鍵に .pub を付けた名前になっていることを確認してください (例: my_key.pub)。

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

別の SSH エージェントを使いたい場合 (例: ssh-agent)、GNOME Keyring デーモンの SSH コンポーネントを無効化する必要があります:

# ln -sf /dev/null /etc/xdg/autostart/gnome-keyring-ssh.desktop

ログアウトすることで変更が適用されます。

Tips and tricks

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

パスフレーズの消去

$ gnome-keyring-daemon -r -d

上記のコマンドで、実行中のインスタンスが終了して、新しい gnome-keyring-daemon が起動します。

GNOME Keyring と Git

HTTPS でプッシュするときに Git と GNOME Keyring を組み合わせると便利です。

まず公式リポジトリから libgnome-keyring パッケージをインストールしてください。

そしてヘルパーをコンパイルします:

$ cd /usr/share/git/credential/gnome-keyring
# make

ヘルパーを使うように Git を設定:

$ git config --global credential.helper /usr/lib/git-core/git-credential-gnome-keyring

これで git push を実行したときに、キーリングのロックが解除されていなかった場合、解除するように要求されます。

トラブルシューティング

パスワードが保存されない

ログイン時に毎回パスワードプロンプトが表示され、パスワードが保存されない場合は、デフォルトのキーリングを作成・設定する必要があります。

seahorse パッケージをインストールして、システム設定から "パスワードと秘密鍵" を開いて View > By Keyring を選択してください。左カラムにキーリングが存在しない場合 (鍵のアイコン)、File > New > Password Keyring とたどって名前を付けて下さい。パスワードの入力を求められます。パスワードを入力しないと自動的にパスワード解除されるようになります (自動ログインを使っている場合も)、ただしパスワードは安全に保存されません。最後に、作成したキーリングを右クリックして "Set as default" を選択してください。