「KDE Wallet」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
(同期)
 
(同じ利用者による、間の8版が非表示)
4行目: 4行目:
 
[[es:KDE Wallet]]
 
[[es:KDE Wallet]]
 
[[zh-hans:KDE Wallet]]
 
[[zh-hans:KDE Wallet]]
[http://utils.kde.org/projects/kwalletmanager/ KDE Wallet Manager] は KDE システムでパスワードを管理するためのツールです。KDE ウォレットサブシステムを使うことで秘密を守ることだけでなく、KDE ウォレットと連動する全てのアプリケーションのパスワードを管理することができます。
+
[https://utils.kde.org/projects/kwalletmanager/ KDE Wallet Manager] は、[[KDE]] Plasma システムでパスワードを管理するためのツールです。KDE ウォレットサブシステムを使うことで秘密を守ることだけでなく、KDE ウォレットと連動する全てのアプリケーションのパスワードを管理することができます。
  +
  +
ウォレット (KDE の用語では vault や keyring とも呼ばれます) とは、ユーザー定義のパスワードによって保護された暗号化ボリュームであり、ユーザーやソフトウェアはシークレット (ユーザーがアプリケーションで ''"アカウントを記憶する"'' にチェックを入れた場合には資格情報がこれに該当します) をここに保存することができます。ウォレットは、ユーザーによって手動で作成及び使用を行ったり、あるいは、ウォレットサブシステムと統合されている何らかのソフトウェア (例えばメールアプリやゲーム) によってバックグラウンドで自動的に作成及び使用ができます。多くの場合、ウォレットはユーザーのログイン時に PAM モジュールを使って自動的に復号されます (以下を参照)。
  +
  +
ヒント:
  +
  +
* ウォレットを、必要としているアプリケーションにだけ利用可能にする必要がある場合、デフォルトのウォレット名 (つまり {{ic|kdewallet}}) を使用し、ユーザーのパスワードと同じにする (PAM で復号できるようにするため) ことが推奨されます。
  +
* デフォルトでは、ウォレットは {{ic|~/.local/share/kwalletd}} 内に {{ic|.kwl}} 拡張子が付けられた暗号化ファイルとして保存されます。
  +
  +
{{Note|KDE Frameworks 5.97.0 以降、KDE Wallet は org.freedesktop.secrets DBus API をサポートしています。これにより、libsecret が KDE Wallet を使用できるようになり、Secret Service API を使ってパスワードなどの機密情報を保管・取得できるようになりました。
  +
}}
  +
  +
== インストール ==
  +
  +
しばしば、KDE Wallet は [[KDE]] Plasma デスクトップ環境と共に使用されます。ウォレットサブシステムは {{Pkg|kwallet5}} パッケージで手動でインストールすることもできます。このサブシステムはさらに以下のシステムに依存しています:
  +
  +
* [[FUSE]] (復号されたウォレットをユーザーランドのディレクトリへマウントするために)。具体的には、{{man|1|fusermount}} コマンドを提供している {{Pkg|fuse2}} パッケージに依存しています。
  +
* 暗号化バックエンド。ウォレットを暗号化ファイルとして保存するために使用されます。いくつかのバックエンドがサポートされています。例えば、[[Gocryptfs]] ({{Pkg|gocryptfs}} パッケージ) や [[EncFS]] ({{Pkg|encfs}} パッケージ) です。
  +
  +
任意で、ウォレット管理ツールの {{Pkg|kwalletmanager}} パッケージも[[インストール]]してください。このツールによって、グラフィカルに KDE ウォレットの作成や管理ができるようになります。また、''kcm-module'' によって提供されていない {{ic|blowfish}} 暗号やその他の設定も利用可能できるようになります。
   
 
== ログイン時に KDE ウォレットを自動的にアンロック ==
 
== ログイン時に KDE ウォレットを自動的にアンロック ==
   
KDE ウォレットのパスワードがあなた使用しているユーザーのパスワードと同じ場合、ログイン時に自動的にロックを解除することができ
+
ログイン時に KDE ウォレットを自動的にアンロックするには、[[PAM]] 互換モジュール {{Pkg|kwallet-pam}} を[[インストール]]してください。また、KDE ウォレットパスワードは現在[[ユーザー]]のパスワードと一致していなければなりせん
  +
  +
{{Note|
  +
* {{Pkg|kwallet-pam}} は [[GnuPG]] 鍵とは互換性がありません。KDE ウォレットは標準的な {{ic|blowfish}} 暗号を使わなければなりません。
  +
* 自動ログインを使うときは、自動ログインのメソッドがパスワードを保存している場合に限りウォレットをアンロックできます。例えば、[[pam_autologin]] は可能です。
  +
* ログインに指紋を使用する場合、ウォレットはアンロックできません。
  +
* ウォレットの名前は {{ic|kdewallet}} (デフォルト名)でなければなりません。これは他のウォレットをアンロックしません。
  +
* [[KDE]] を使用している場合、ウォレットが使用後([[WiFi]] のパスフレーズのアンロックなど)に閉じられないようにするために、KDE ウォレット設定で ''最後のアプリケーションが使い終わったときに閉じる'' を無効化する必要があるかもしれません。
  +
* まず先に、保存されている全てのエントリを削除して、デフォルトで作成されたウォレットを削除する必要があるかもしれません。
  +
* kwallet Migration Assistant がログイン後に毎回パスワードを尋ねてくる場合、{{ic|~/.kde4/share/apps/kwallet}} フォルダを削除するか名前を変更してください。
  +
}}
  +
  +
{{Tip|あるいは、KWalletManager を使用して、空の Kwallet パスワードを設定することで、パスワード無しでウォレットのアンロックを可能にできます。''パスワードを変更..'' の両方の入力欄を空欄にしてください。しかし、これによりユーザのウォレットに対して望まない(読み込み/書き込み)アクセスを招く恐れがあります。ウォレットに対する望まないアクセスを防ぐために ''アクセス管理'' の ''アプリケーションがウォレットにアクセスするときに通知する'' を有効化することを強くおすすめします。}}
   
  +
=== PAM の設定 ===
{{Pkg|kwallet-pam}} パッケージを[[インストール]]してください。
 
   
  +
以下の行は、対応するそれぞれのセクションになければなりません:
[[SDDM]] を使っていない場合、利用しているディスプレイマネージャの PAM ファイルを編集し、適当なセクションの下に以下の2行を追加してください:
 
   
 
{{bc|1=
 
{{bc|1=
19行目: 50行目:
 
}}
 
}}
   
例えば [[LightDM]] の場合、{{ic|/etc/pam.d/lightdm}} と {{ic|/etc/pam.d/lightdm-greeter}} ファイルを編集してください:
+
状況に合わせて [[PAM]] 設定ファイルを編集してください:
   
  +
* [[SDDM]] の場合、{{ic|/etc/pam.d/sddm}} に上記の行がすでに存在するため、編集する必要は無いはずです。
{{hc|/etc/pam.d/lightdm|2=
 
  +
* [[LightDM]] の場合、{{ic|/etc/pam.d/lightdm}} と {{ic|/etc/pam.d/lightdm-autologin}} に上記の行がすでに存在するため、編集する必要は無いはずです。
#%PAM-1.0
 
  +
* [[GDM]] の場合、{{ic|/etc/pam.d/gdm-password}} を適宜編集してください。
auth include system-login
 
  +
* [[greetd]] の場合、{{ic|/etc/pam.d/greetd}} を適宜編集してください。
'''auth optional pam_kwallet5.so'''
 
  +
* tty ログイン(ディスプレイマネージャなし)でアンロックするには、{{ic|/etc/pam.d/login}} を適宜編集してください。'''force_run''' パラメータを指定する必要があります。
   
  +
{{hc|/etc/pam.d/login|2=
account include system-login
 
  +
auth optional pam_kwallet5.so
  +
session optional pam_kwallet5.so auto_start '''force_run'''
  +
}}
  +
  +
{{hc|/etc/pam.d/greetd|2=
  +
#%PAM-1.0
   
password include system-login
+
auth required pam_securetty.so
  +
auth requisite pam_nologin.so
  +
auth include system-local-login
  +
'''auth optional pam_kwallet5.so'''
  +
account include system-local-login
  +
session include system-local-login
  +
'''session optional pam_kwallet5.so auto_start force_run'''
   
session include system-login
 
'''session optional pam_kwallet5.so auto_start'''
 
 
}}
 
}}
   
  +
== KDE ウォレットを使って ssh 鍵のパスフレーズを保存 ==
[[GDM]] であれば {{ic|/etc/pam.d/gdm-password}} を編集してください。
 
   
  +
{{Accuracy|自動起動エントリの作成が必要になるのは、{{ic|ssh-add}} がキーを自動的に追加できない場合のみです。}}
再起動後、Kwallet のパスワードとユーザーのパスワードが同じ場合、自動的にウォレットのロックが解除されます。
 
   
  +
{{Note|[[SSH エージェント]]が実行されている必要があります。}}
{{Note|現在のところ、kwallet-pam には少なくとも2つの制限があります。まず、[[GnuPG]] キーとの互換性がないため、KDE Wallet は標準の blowfish の暗号化を使用する必要があります。また、ウォレット名は "kdewallet"(デフォルト名)でなければなりません。何らかの理由で新しいウォレットを作成する場合は、この名前を使用する必要があります (古いウォレットの名前も変更する必要があります)。}}
 
   
  +
{{Pkg|ksshaskpass}} パッケージを[[インストール]]してください。
== KDE ウォレットを使って ssh 鍵を保存 ==
 
   
まず、[[SSH 鍵#SSH エージェント|SSH エージェント]]が動いていること確認してください
+
[[KDE#自動起動|自動起動 .desktop ファイル]]を[[作成]]してください:
   
  +
{{hc|~/.config/autostart/ssh-add.desktop|2=
{{Pkg|ksshaskpass}} パッケージをインストールしてください。
 
  +
[Desktop Entry]
  +
Exec=ssh-add -q
  +
Name=ssh-add
  +
Type=Application
  +
}}
  +
  +
{{Tip|デフォルトでは、{{man|1|ssh-add}} はデフォルト鍵 {{ic|~/.ssh/id_rsa}} しか追加しません。{{ic|key1}}、{{ic|key2}}、{{ic|key3}} という名前の、異なる SSH 鍵を持っていると仮定すると、''ssh-add'' への引数としてそれらを渡すことでログイン時に自動的にそれらを追加できます。例:
   
  +
{{hc|~/.config/autostart/ssh-add.desktop|2=
自動起動ファイルを作成して [[chmod]] で実行可能属性を付与します:
 
  +
[Desktop Entry]
{{hc|~/.config/autostart-scripts/ssh-add.sh|
 
  +
Exec=ssh-add -q .ssh/key1 .ssh/key2 .ssh/key3
#!/bin/sh
 
ssh-add </dev/null
+
Name=ssh-add
  +
Type=Application
 
}}
 
}}
   
  +
グロビングなどの[[シェル]]の機能を使うには、シェルを起動して ''ssh-add'' コマンドを実行するように {{ic|1=Exec=}} の行を変更してください。例えば、[[Zsh]] の拡張グロビング機能を使って、ファイル名が {{ic|id}} で始まる全ての秘密鍵を ''ssh-add'' に追加するには:
{{Tip|The above ssh-add.sh script will only add the default key {{ic|~/.ssh/id_rsa}}. Assuming you have different SSH keys named {{ic|key1}}, {{ic|key2}}, {{ic|key3}} in {{ic|~/.ssh/}}, you may add them automatically on login by changing the above script to:
 
   
{{hc|~/.config/autostart-scripts/ssh-add.sh|
+
{{hc|~/.config/autostart/ssh-add.desktop|2=
  +
[Desktop Entry]
#!/bin/sh
 
ssh-add $HOME/.ssh/key1 $HOME/.ssh/key2 $HOME/.ssh/key3 </dev/null
+
Exec=zsh --extendedglob -c 'ssh-add -q ~/.ssh/id^*.pub < /dev/null'
  +
Name=ssh-add
  +
Type=Application
  +
X-KDE-AutostartScript=true
 
}}
 
}}
  +
 
}}
 
}}
   
  +
また、{{ic|SSH_ASKPASS}} [[環境変数]]を {{ic|ksshaskpass}} に設定し、{{ic|SSH_ASKPASS_REQUIRE}} を {{ic|prefer}} に設定する必要があります({{ic|SSH_ASKPASS_REQUIRE}} を {{ic|prefer}} に設定すると、TTY よりも askpass プログラムを優先します)。ログイン時にその環境変数を自動的に設定するには、以下の [https://man.archlinux.org/man/environment.d.5 systemd 環境変数]を作成してください:
また、{{ic|SSH_ASKPASS}} [[環境変数]]をセットするスクリプトを読み込む必要があります:
 
   
  +
{{hc|~/.config/environment.d/ssh_askpass.conf|2=
export SSH_ASKPASS="/usr/bin/ksshaskpass"
 
  +
SSH_ASKPASS=/usr/bin/ksshaskpass
  +
SSH_ASKPASS_REQUIRE=prefer
  +
}}
   
パスワードを要求し SSH 鍵を解除します。再起動後は kwallet パスワードを与えた時に SSH 鍵が解除されす。
+
パスワードを尋ねきて、SSH 鍵をアンロックします。kwallet パスワードを入力すれば、再起動時に SSH 鍵がアンロックされるはずです。
   
新しい鍵を追加して kwallet でパスワードを保存するには以下のコマンドを使ってさい:
+
新しい鍵を追加して kwallet でパスワードを保存するには以下のコマンドを使ってください
   
$ ssh-add /path/to/new/key </dev/null
+
$ ssh-add ''/path/to/new/key'' </dev/null
   
そして上述のように {{ic|~/.config/autostart-scripts/ssh-add.sh}} の鍵のリストに鍵を追加してください。そうすると kwallet パスワードロックが解除されます
+
そしてで説明したように {{ic|~/.config/autostart/ssh-add.desktop}} の鍵のリストにその鍵を追加してkwallet パスワード入力時にアンロックされるようにしてください
   
== KDE ウォレット firefox ==
+
== KDE ウォレットを使って Git の資格情報を保存 ==
   
  +
[[Git]] は資格情報ヘルパーに資格情報の処理を委託できます。{{Pkg|ksshaskpass}} を資格情報ヘルパーとして使うことで、HTTP/HTTPS と SMTP のパスワードは KDE ウォレットに安全に保存できます。
[[Firefox]] には [https://addons.mozilla.org/addon/kde5-wallet-password-integrati/ KDE5 Wallet] を使ってパスワードを保存させるアドオンが存在します。
 
   
  +
{{Pkg|ksshaskpass}} パッケージを[[インストール]]してください。
== KDE ウォレットと chromium ==
 
   
  +
{{ic|GIT_ASKPASS}} [[環境変数]]で Git を設定してください:
Chrome/Chromium は初めからウォレットに対応しています。
 
   
  +
{{hc|~/.config/environment.d/git_askpass.conf|2=
有効にするには {{ic|<nowiki>--password-store=kwallet</nowiki>}} または {{ic|<nowiki>--password-store=detect</nowiki>}} を使って Chromium ブラウザを起動してください。変更を永続化したい場合、[[Chromium 設定#フラグを永続的に設定]]を見てください (CHROMIUM_USER_FLAGS の設定は機能しません)。
 
  +
GIT_ASKPASS=/usr/bin/ksshaskpass
  +
}}
  +
  +
{{Tip|{{ic|SSH_ASKPASS}} 環境変数が[[#KDE ウォレットを使って ssh 鍵のパスフレーズを保存|ksshaskpass に設定されている]]場合、{{ic|GIT_ASKPASS}} を設定する必要はありません。}}
  +
  +
代替や詳細は {{man|7|gitcredentials}} を見てください。
  +
  +
== Chrome と Chromium で KDE ウォレットを使う ==
  +
  +
Chrome/Chromium/Opera には組み込みのウォレット統合機能があります。それを有効化するには、{{ic|1=--password-store=kwallet5}} か {{ic|1=--password-store=detect}} を引数として渡して Chromium を実行してください。この変更を永続化させるには、[[Chromium#フラグを永続的に設定]] を見てください。(CHROMIUM_USER_FLAGS を設定してもうまく行きません。)
  +
  +
== ターミナルからパスワードをクエリする ==
  +
  +
プレーンなテキストファイルにパスワードを保存する代わりに、''kwallet-query'' を使って手動で新しいエントリをウォレットに追加したり、取得したりできます。
  +
  +
例えば、Podman で Docker Hub レジストリにログインしたい場合、以下のコマンドを使ってログインできます(Podman は {{ic|--password-stdin}} フラグで標準入力からのパスワード入力を受け付けます):
  +
  +
$ kwallet-query -r folder_entry wallet_name -f folder_name | podman login docker.io -u dockerhub_username --password-stdin
  +
  +
この方法では、パスワードはテキストファイルに保存されず、ターミナルの履歴ファイルにも残りません。
  +
  +
== ウインドウマネージャで KWallet を自動的にアンロックする ==
  +
  +
ログインパスワードで保護された KWallet をアンロックするには、[[PAM]] の設定に加えて以下をウインドウマネージャの設定ファイルに追加する必要があります:
  +
  +
exec --no-startup-id /usr/lib/pam_kwallet_init
  +
  +
== KWallet を無効化する ==
  +
  +
KWallet を永久に無効化したい場合:
  +
  +
{{hc|~/.config/kwalletrc|2=
  +
[Wallet]
  +
'''Enabled=false'''
  +
}}
  +
  +
== D-Bus の自動アクティベーション ==
  +
  +
ほとんどのアプリケーションは {{ic|org.freedesktop.secrets.service}} D-Bus サービスを使用します。KWallet は、そのままの状態では自動アクティベーションのためのサービスファイルを提供していません。
  +
  +
以下のようなサービスファイルを作成することで、自動アクティベーションを行うことができます:
  +
  +
{{hc|~/.local/share/dbus-1/services/org.freedesktop.secrets.service|2=
  +
[D-BUS Service]
  +
Name=org.freedesktop.secrets
  +
Exec=/usr/bin/kwalletd5
  +
}}
   
 
== 参照 ==
 
== 参照 ==
   
  +
* [[Wikipedia:ja:KWallet]]
 
* [https://www.dennogumi.org/2014/04/unlocking-kwallet-with-pam/ Unlocking KWallet with PAM]
 
* [https://www.dennogumi.org/2014/04/unlocking-kwallet-with-pam/ Unlocking KWallet with PAM]
  +
* [https://invent.kde.org/frameworks/kwallet/-/merge_requests/11 org.freedesktop.secrets DBus API initial support]
  +
  +
{{TranslationStatus|KDE Wallet|2023-12-23|794836}}

2023年12月23日 (土) 13:56時点における最新版

KDE Wallet Manager は、KDE Plasma システムでパスワードを管理するためのツールです。KDE ウォレットサブシステムを使うことで秘密を守ることだけでなく、KDE ウォレットと連動する全てのアプリケーションのパスワードを管理することができます。

ウォレット (KDE の用語では vault や keyring とも呼ばれます) とは、ユーザー定義のパスワードによって保護された暗号化ボリュームであり、ユーザーやソフトウェアはシークレット (ユーザーがアプリケーションで "アカウントを記憶する" にチェックを入れた場合には資格情報がこれに該当します) をここに保存することができます。ウォレットは、ユーザーによって手動で作成及び使用を行ったり、あるいは、ウォレットサブシステムと統合されている何らかのソフトウェア (例えばメールアプリやゲーム) によってバックグラウンドで自動的に作成及び使用ができます。多くの場合、ウォレットはユーザーのログイン時に PAM モジュールを使って自動的に復号されます (以下を参照)。

ヒント:

  • ウォレットを、必要としているアプリケーションにだけ利用可能にする必要がある場合、デフォルトのウォレット名 (つまり kdewallet) を使用し、ユーザーのパスワードと同じにする (PAM で復号できるようにするため) ことが推奨されます。
  • デフォルトでは、ウォレットは ~/.local/share/kwalletd 内に .kwl 拡張子が付けられた暗号化ファイルとして保存されます。
ノート: KDE Frameworks 5.97.0 以降、KDE Wallet は org.freedesktop.secrets DBus API をサポートしています。これにより、libsecret が KDE Wallet を使用できるようになり、Secret Service API を使ってパスワードなどの機密情報を保管・取得できるようになりました。

インストール

しばしば、KDE Wallet は KDE Plasma デスクトップ環境と共に使用されます。ウォレットサブシステムは kwallet5 パッケージで手動でインストールすることもできます。このサブシステムはさらに以下のシステムに依存しています:

  • FUSE (復号されたウォレットをユーザーランドのディレクトリへマウントするために)。具体的には、fusermount(1) コマンドを提供している fuse2 パッケージに依存しています。
  • 暗号化バックエンド。ウォレットを暗号化ファイルとして保存するために使用されます。いくつかのバックエンドがサポートされています。例えば、Gocryptfs (gocryptfs パッケージ) や EncFS (encfs パッケージ) です。

任意で、ウォレット管理ツールの kwalletmanager パッケージもインストールしてください。このツールによって、グラフィカルに KDE ウォレットの作成や管理ができるようになります。また、kcm-module によって提供されていない blowfish 暗号やその他の設定も利用可能できるようになります。

ログイン時に KDE ウォレットを自動的にアンロック

ログイン時に KDE ウォレットを自動的にアンロックするには、PAM 互換モジュールの kwallet-pamインストールしてください。また、KDE ウォレットパスワードは現在のユーザーのパスワードと一致していなければなりません。

ノート:
  • kwallet-pamGnuPG 鍵とは互換性がありません。KDE ウォレットは標準的な blowfish 暗号を使わなければなりません。
  • 自動ログインを使うときは、自動ログインのメソッドがパスワードを保存している場合に限りウォレットをアンロックできます。例えば、pam_autologin は可能です。
  • ログインに指紋を使用する場合、ウォレットはアンロックできません。
  • ウォレットの名前は kdewallet (デフォルト名)でなければなりません。これは他のウォレットをアンロックしません。
  • KDE を使用している場合、ウォレットが使用後(WiFi のパスフレーズのアンロックなど)に閉じられないようにするために、KDE ウォレット設定で 最後のアプリケーションが使い終わったときに閉じる を無効化する必要があるかもしれません。
  • まず先に、保存されている全てのエントリを削除して、デフォルトで作成されたウォレットを削除する必要があるかもしれません。
  • kwallet Migration Assistant がログイン後に毎回パスワードを尋ねてくる場合、~/.kde4/share/apps/kwallet フォルダを削除するか名前を変更してください。
ヒント: あるいは、KWalletManager を使用して、空の Kwallet パスワードを設定することで、パスワード無しでウォレットのアンロックを可能にできます。パスワードを変更.. の両方の入力欄を空欄にしてください。しかし、これによりユーザのウォレットに対して望まない(読み込み/書き込み)アクセスを招く恐れがあります。ウォレットに対する望まないアクセスを防ぐために アクセス管理アプリケーションがウォレットにアクセスするときに通知する を有効化することを強くおすすめします。

PAM の設定

以下の行は、対応するそれぞれのセクションになければなりません:

auth            optional        pam_kwallet5.so
session         optional        pam_kwallet5.so auto_start

状況に合わせて PAM 設定ファイルを編集してください:

  • SDDM の場合、/etc/pam.d/sddm に上記の行がすでに存在するため、編集する必要は無いはずです。
  • LightDM の場合、/etc/pam.d/lightdm/etc/pam.d/lightdm-autologin に上記の行がすでに存在するため、編集する必要は無いはずです。
  • GDM の場合、/etc/pam.d/gdm-password を適宜編集してください。
  • greetd の場合、/etc/pam.d/greetd を適宜編集してください。
  • tty ログイン(ディスプレイマネージャなし)でアンロックするには、/etc/pam.d/login を適宜編集してください。force_run パラメータを指定する必要があります。
/etc/pam.d/login
auth            optional        pam_kwallet5.so
session         optional        pam_kwallet5.so auto_start force_run
/etc/pam.d/greetd
#%PAM-1.0

auth       required     pam_securetty.so
auth       requisite    pam_nologin.so
auth       include      system-local-login
auth       optional     pam_kwallet5.so
account    include      system-local-login
session    include      system-local-login
session    optional     pam_kwallet5.so auto_start force_run

KDE ウォレットを使って ssh 鍵のパスフレーズを保存

この記事またはセクションの正確性には問題があります。
理由: 自動起動エントリの作成が必要になるのは、ssh-add がキーを自動的に追加できない場合のみです。 (議論: トーク:KDE Wallet#)
ノート: SSH エージェントが実行されている必要があります。

ksshaskpass パッケージをインストールしてください。

自動起動 .desktop ファイル作成してください:

~/.config/autostart/ssh-add.desktop
[Desktop Entry]
Exec=ssh-add -q
Name=ssh-add
Type=Application
ヒント: デフォルトでは、ssh-add(1) はデフォルト鍵 ~/.ssh/id_rsa しか追加しません。key1key2key3 という名前の、異なる SSH 鍵を持っていると仮定すると、ssh-add への引数としてそれらを渡すことでログイン時に自動的にそれらを追加できます。例:
~/.config/autostart/ssh-add.desktop
[Desktop Entry]
Exec=ssh-add -q .ssh/key1 .ssh/key2 .ssh/key3
Name=ssh-add
Type=Application

グロビングなどのシェルの機能を使うには、シェルを起動して ssh-add コマンドを実行するように Exec= の行を変更してください。例えば、Zsh の拡張グロビング機能を使って、ファイル名が id で始まる全ての秘密鍵を ssh-add に追加するには:

~/.config/autostart/ssh-add.desktop
[Desktop Entry]
Exec=zsh --extendedglob -c 'ssh-add -q ~/.ssh/id^*.pub < /dev/null'
Name=ssh-add
Type=Application
X-KDE-AutostartScript=true

また、SSH_ASKPASS 環境変数ksshaskpass に設定し、SSH_ASKPASS_REQUIREprefer に設定する必要があります(SSH_ASKPASS_REQUIREprefer に設定すると、TTY よりも askpass プログラムを優先します)。ログイン時にその環境変数を自動的に設定するには、以下の systemd 環境変数を作成してください:

~/.config/environment.d/ssh_askpass.conf
SSH_ASKPASS=/usr/bin/ksshaskpass
SSH_ASKPASS_REQUIRE=prefer

パスワードを尋ねてきて、SSH 鍵をアンロックします。kwallet のパスワードを入力すれば、再起動時に SSH 鍵がアンロックされるはずです。

新しい鍵を追加して kwallet でパスワードを保存するには、以下のコマンドを使ってください。

$ ssh-add /path/to/new/key </dev/null

そして、上で説明したように ~/.config/autostart/ssh-add.desktop 内の鍵のリストにその鍵を追加して、kwallet のパスワード入力時にアンロックされるようにしてください。

KDE ウォレットを使って Git の資格情報を保存

Git は資格情報ヘルパーに資格情報の処理を委託できます。ksshaskpass を資格情報ヘルパーとして使うことで、HTTP/HTTPS と SMTP のパスワードは KDE ウォレットに安全に保存できます。

ksshaskpass パッケージをインストールしてください。

GIT_ASKPASS 環境変数で Git を設定してください:

~/.config/environment.d/git_askpass.conf
GIT_ASKPASS=/usr/bin/ksshaskpass
ヒント: SSH_ASKPASS 環境変数がksshaskpass に設定されている場合、GIT_ASKPASS を設定する必要はありません。

代替や詳細は gitcredentials(7) を見てください。

Chrome と Chromium で KDE ウォレットを使う

Chrome/Chromium/Opera には組み込みのウォレット統合機能があります。それを有効化するには、--password-store=kwallet5--password-store=detect を引数として渡して Chromium を実行してください。この変更を永続化させるには、Chromium#フラグを永続的に設定 を見てください。(CHROMIUM_USER_FLAGS を設定してもうまく行きません。)

ターミナルからパスワードをクエリする

プレーンなテキストファイルにパスワードを保存する代わりに、kwallet-query を使って手動で新しいエントリをウォレットに追加したり、取得したりできます。

例えば、Podman で Docker Hub レジストリにログインしたい場合、以下のコマンドを使ってログインできます(Podman は --password-stdin フラグで標準入力からのパスワード入力を受け付けます):

$ kwallet-query -r folder_entry wallet_name -f folder_name | podman login docker.io -u dockerhub_username --password-stdin

この方法では、パスワードはテキストファイルに保存されず、ターミナルの履歴ファイルにも残りません。

ウインドウマネージャで KWallet を自動的にアンロックする

ログインパスワードで保護された KWallet をアンロックするには、PAM の設定に加えて以下をウインドウマネージャの設定ファイルに追加する必要があります:

exec --no-startup-id /usr/lib/pam_kwallet_init

KWallet を無効化する

KWallet を永久に無効化したい場合:

~/.config/kwalletrc
[Wallet]
Enabled=false

D-Bus の自動アクティベーション

ほとんどのアプリケーションは org.freedesktop.secrets.service D-Bus サービスを使用します。KWallet は、そのままの状態では自動アクティベーションのためのサービスファイルを提供していません。

以下のようなサービスファイルを作成することで、自動アクティベーションを行うことができます:

~/.local/share/dbus-1/services/org.freedesktop.secrets.service
[D-BUS Service]
Name=org.freedesktop.secrets
Exec=/usr/bin/kwalletd5

参照

翻訳ステータス: このページは en:KDE Wallet の翻訳バージョンです。最後の翻訳日は 2023-12-23 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。