「GNOME/Keyring」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
5行目: 5行目:
 
{{Note|1=2015年7月10日現在、GNOME Keyring は ECDSA[https://bugzilla.gnome.org/show_bug.cgi?id=641082] と Ed25519[https://bugzilla.gnome.org/show_bug.cgi?id=723274] 鍵を扱うことができません。これらの鍵を使う必要がある場合は他の [[SSH 鍵#SSH_エージェント|SSH エージェント]]を使用して下さい。}}
 
{{Note|1=2015年7月10日現在、GNOME Keyring は ECDSA[https://bugzilla.gnome.org/show_bug.cgi?id=641082] と Ed25519[https://bugzilla.gnome.org/show_bug.cgi?id=723274] 鍵を扱うことができません。これらの鍵を使う必要がある場合は他の [[SSH 鍵#SSH_エージェント|SSH エージェント]]を使用して下さい。}}
 
== インストール ==
 
== インストール ==
GNOME を使用している場合、{{Pkg|gnome-keyring}} は {{grp|gnome}} グループの一つとして自動的にインストールされます。GNOME を使っていない場合は、[[公式リポジトリ]]か {{Pkg|gnome-keyring}} をインストールしてください。
+
GNOME を使用している場合、{{Pkg|gnome-keyring}} は {{grp|gnome}} グループの一つとして自動的にインストールされます。GNOME を使っていない場合は、[[公式リポジトリ]]か {{Pkg|gnome-keyring}} をインストールしてください。
   
 
== GUI で管理 ==
 
== GUI で管理 ==
71行目: 71行目:
 
* Slim {{pkg|slim}}
 
* Slim {{pkg|slim}}
 
* LightDM {{pkg|lightdm}}
 
* LightDM {{pkg|lightdm}}
{{Note| You may need to install {{pkg|libgnome-keyring}} }}
+
{{Note|{{pkg|libgnome-keyring}} をインストールする必要があるかもしれません。}}
KDM についは、[[KDM#KDM と Gnome-keyring]] を見て下さい。
+
KDM についは、[[KDM#KDM と Gnome-keyring]] を見て下さい。
   
 
SSH などのターミナルから動作させるアプリケーションからキーリングを使えるようにするには、以下を {{ic|~/.bash_profile}} や {{ic|~/.zshenv}} に追加してください:
 
SSH などのターミナルから動作させるアプリケーションからキーリングを使えるようにするには、以下を {{ic|~/.bash_profile}} や {{ic|~/.zshenv}} に追加してください:
82行目: 82行目:
 
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=The GNOME Keyring Daemon no longer exposes {{ic|GNOME_KEYRING_PID}}. See [https://mail.gnome.org/archives/commits-list/2014-March/msg03864.html commit].}}
   
 
== キーリングデーモンの無効化 ==
 
== キーリングデーモンの無効化 ==
103行目: 103行目:
 
$ ssh-add -D
 
$ 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!
 
   
  +
もしくは、キーリングにパスフレーズを永続的に保存したい場合、{{pkg|seahorse}} パッケージの seahorse-ssh-askpass を使います:
Alternatively, to permanently save the a passphrase in the keyring, use seahorse-ssh-askpass from package {{pkg|seahorse}}:
 
   
 
/usr/lib/seahorse/seahorse-ssh-askpass my_key
 
/usr/lib/seahorse/seahorse-ssh-askpass my_key
119行目: 119行目:
 
$ gnome-keyring-daemon -r -d
 
$ gnome-keyring-daemon -r -d
   
  +
上記のコマンドで、実行中のインスタンスが終了して、新しい gnome-keyring-daemon が起動します。
This command starts gnome-keyring-daemon, shutting down previously running instances.
 
   
 
== GNOME Keyring と Git ==
 
== GNOME Keyring と Git ==
  +
HTTPS でプッシュするときに [[Git]] と GNOME Keyring を組み合わせると便利です。
The GNOME keyring is useful in conjuction with [[Git]] when you are pushing over HTTPS.
 
   
 
まず[[公式リポジトリ]]から {{pkg|libgnome-keyring}} パッケージをインストールしてください。
 
まず[[公式リポジトリ]]から {{pkg|libgnome-keyring}} パッケージをインストールしてください。
131行目: 131行目:
 
ヘルパーを使うように Git を設定:
 
ヘルパーを使うように Git を設定:
 
$ git config --global credential.helper /usr/lib/git-core/git-credential-gnome-keyring
 
$ git config --global credential.helper /usr/lib/git-core/git-credential-gnome-keyring
  +
これで ''git push'' を実行したときに、キーリングのロックが解除されていなかった場合、解除するように要求されます。
Next time you do a ''git push'', you are asked to unlock your keyring, if not unlocked already.
 
   
 
== 便利なツール ==
 
== 便利なツール ==
 
({{pkg|libsecret}} パッケージに含まれている) {{ic|secret-tool}} はコマンドラインから GNOME Keyring (やその他の [http://standards.freedesktop.org/secret-service/ DBus Secret Service API] を実装しているサービス) にアクセスすることができます。
 
({{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 の {{AUR|gnome-keyring-query}} は GNOME Keyring からパスワードを問い合わせのに使うシンプルなコマンドラインツールです。
  +
  +
また、{{AUR|gkeyring}} もコマンドラインからパスワードを問い合わせることができます。
  +
  +
上記の3つのアプリケーションと異なり、{{AUR|gkeyring-git}} は全てのパスワードを確認でき、アイテムの id や名前を覚える必要はありません。

2015年11月13日 (金) 22:57時点における版

GnomeKeyring より:

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

インストール

GNOME を使用している場合、gnome-keyringgnome グループの一つとして自動的にインストールされます。GNOME を使っていない場合は、公式リポジトリから 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 は削除されました。XDG_RUNTIME_DIR が設定されている場合 GNOME_KEYRING_CONTROL は書き込まれません。[3] を参照。

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

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

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

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

ノート: 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

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

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

/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

上記のコマンドで、実行中のインスタンスが終了して、新しい 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 を実行したときに、キーリングのロックが解除されていなかった場合、解除するように要求されます。

便利なツール

(libsecret パッケージに含まれている) secret-tool はコマンドラインから GNOME Keyring (やその他の DBus Secret Service API を実装しているサービス) にアクセスすることができます。

AUR の gnome-keyring-queryAUR は GNOME Keyring からパスワードを問い合わせるのに使うシンプルなコマンドラインツールです。

また、gkeyringAUR もコマンドラインからパスワードを問い合わせることができます。

上記の3つのアプリケーションと異なり、gkeyring-gitAUR は全てのパスワードを確認でき、アイテムの id や名前を覚える必要はありません。