「KDE Wallet」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
 
(同じ利用者による、間の4版が非表示)
6行目: 6行目:
 
[https://utils.kde.org/projects/kwalletmanager/ KDE Wallet Manager] は、[[KDE]] Plasma システムでパスワードを管理するためのツールです。KDE ウォレットサブシステムを使うことで秘密を守ることだけでなく、KDE ウォレットと連動する全てのアプリケーションのパスワードを管理することができます。
 
[https://utils.kde.org/projects/kwalletmanager/ KDE Wallet Manager] は、[[KDE]] Plasma システムでパスワードを管理するためのツールです。KDE ウォレットサブシステムを使うことで秘密を守ることだけでなく、KDE ウォレットと連動する全てのアプリケーションのパスワードを管理することができます。
   
  +
ウォレット (KDE の用語では vault や keyring とも呼ばれます) とは、ユーザー定義のパスワードによって保護された暗号化ボリュームであり、ユーザーやソフトウェアはシークレット (ユーザーがアプリケーションで ''"アカウントを記憶する"'' にチェックを入れた場合には資格情報がこれに該当します) をここに保存することができます。ウォレットは、ユーザーによって手動で作成及び使用を行ったり、あるいは、ウォレットサブシステムと統合されている何らかのソフトウェア (例えばメールアプリやゲーム) によってバックグラウンドで自動的に作成及び使用ができます。多くの場合、ウォレットはユーザーのログイン時に PAM モジュールを使って自動的に復号されます (以下を参照)。
== ログイン時に KDE ウォレットを自動的にアンロック ==
 
  +
  +
ヒント:
  +
  +
* ウォレットを、必要としているアプリケーションにだけ利用可能にする必要がある場合、デフォルトのウォレット名 (つまり {{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 デスクトップ環境と同梱されています。KDE のウォレットサブシステムは {{Pkg|kwallet}} パッケージで手動で[[インストール]]できます。
  +
  +
任意で、ウォレット管理ツールの {{Pkg|kwalletmanager}} パッケージもインストールしてください。このツールは KDE Wallet をグラフィカルに作成・管理するために使用できます。
  +
  +
== 設定 ==
  +
  +
=== ログイン時に KDE ウォレットを自動的にアンロック ===
   
 
ログイン時に KDE ウォレットを自動的にアンロックするには、[[PAM]] 互換モジュールの {{Pkg|kwallet-pam}} を[[インストール]]してください。また、KDE ウォレットパスワードは現在の[[ユーザー]]のパスワードと一致していなければなりません。
 
ログイン時に KDE ウォレットを自動的にアンロックするには、[[PAM]] 互換モジュールの {{Pkg|kwallet-pam}} を[[インストール]]してください。また、KDE ウォレットパスワードは現在の[[ユーザー]]のパスワードと一致していなければなりません。
19行目: 37行目:
 
* kwallet Migration Assistant がログイン後に毎回パスワードを尋ねてくる場合、{{ic|~/.kde4/share/apps/kwallet}} フォルダを削除するか名前を変更してください。
 
* kwallet Migration Assistant がログイン後に毎回パスワードを尋ねてくる場合、{{ic|~/.kde4/share/apps/kwallet}} フォルダを削除するか名前を変更してください。
 
}}
 
}}
 
任意で、ウォレットの管理ツールの {{Pkg|kwalletmanager}} を[[インストール]]してください。このツールは、''kcm-module'' で提供されない設定と {{ic|blowfish}} 暗号のある KDE ウォレットを作成するのに使用できます。
 
   
 
{{Tip|あるいは、KWalletManager を使用して、空の Kwallet パスワードを設定することで、パスワード無しでウォレットのアンロックを可能にできます。''パスワードを変更..'' の両方の入力欄を空欄にしてください。しかし、これによりユーザのウォレットに対して望まない(読み込み/書き込み)アクセスを招く恐れがあります。ウォレットに対する望まないアクセスを防ぐために ''アクセス管理'' の ''アプリケーションがウォレットにアクセスするときに通知する'' を有効化することを強くおすすめします。}}
 
{{Tip|あるいは、KWalletManager を使用して、空の Kwallet パスワードを設定することで、パスワード無しでウォレットのアンロックを可能にできます。''パスワードを変更..'' の両方の入力欄を空欄にしてください。しかし、これによりユーザのウォレットに対して望まない(読み込み/書き込み)アクセスを招く恐れがあります。ウォレットに対する望まないアクセスを防ぐために ''アクセス管理'' の ''アプリケーションがウォレットにアクセスするときに通知する'' を有効化することを強くおすすめします。}}
   
=== PAM の設定 ===
+
==== PAM の設定 ====
   
 
以下の行は、対応するそれぞれのセクションになければなりません:
 
以下の行は、対応するそれぞれのセクションになければなりません:
35行目: 51行目:
 
状況に合わせて [[PAM]] 設定ファイルを編集してください:
 
状況に合わせて [[PAM]] 設定ファイルを編集してください:
   
* [[SDDM]] の場合、{{ic|/etc/pam.d/sddm}} に上記の行がすでに存在するため、編集する必要はありません
+
* [[SDDM]] の場合、{{ic|/etc/pam.d/sddm}} に上記の行がすでに存在するため、編集する必要は無いはずです
  +
* [[LightDM]] の場合、{{ic|/etc/pam.d/lightdm}} と {{ic|/etc/pam.d/lightdm-autologin}} に上記の行がすでに存在するため、編集する必要は無いはずです。
 
* [[GDM]] の場合、{{ic|/etc/pam.d/gdm-password}} を適宜編集してください。
 
* [[GDM]] の場合、{{ic|/etc/pam.d/gdm-password}} を適宜編集してください。
 
* [[greetd]] の場合、{{ic|/etc/pam.d/greetd}} を適宜編集してください。
 
* [[greetd]] の場合、{{ic|/etc/pam.d/greetd}} を適宜編集してください。
  +
* tty ログイン (ディスプレイマネージャなし、または {{Pkg|greetd-tuigreet}} など) でアンロックするには、{{ic|/etc/pam.d/login}} を適宜編集してください。'''force_run''' パラメータを指定する必要があります。
* [[LightDM]] の場合、{{ic|/etc/pam.d/lightdm}} と {{ic|/etc/pam.d/lightdm-autologin}} ファイルを編集してください:
 
* tty ログイン(ディスプレイマネージャなし)でアンロックするには、{{ic|/etc/pam.d/login}} を適宜編集してください。'''force_run''' パラメータを指定する必要があります。
 
   
 
{{hc|/etc/pam.d/login|2=
 
{{hc|/etc/pam.d/login|2=
 
auth optional pam_kwallet5.so
 
auth optional pam_kwallet5.so
 
session optional pam_kwallet5.so auto_start '''force_run'''
 
session optional pam_kwallet5.so auto_start '''force_run'''
}}
 
 
{{hc|/etc/pam.d/lightdm|2=
 
#%PAM-1.0
 
auth include system-login
 
'''auth optional pam_kwallet5.so'''
 
 
account include system-login
 
 
password include system-login
 
 
session include system-login
 
'''session optional pam_kwallet5.so auto_start'''
 
}}
 
 
{{hc|/etc/pam.d/lightdm-autologin|2=
 
#%PAM-1.0
 
auth required pam_env.so
 
auth required pam_faillock.so preauth
 
auth required pam_shells.so
 
auth required pam_nologin.so
 
auth [success=1 default=ignore] pam_succeed_if.so user ingroup autologin
 
auth required pam_unix.so
 
auth required pam_permit.so
 
'''auth optional pam_kwallet5.so'''
 
 
account include system-local-login
 
 
password include system-local-login
 
 
session include system-local-login
 
'''session optional pam_kwallet5.so auto_start'''
 
 
}}
 
}}
   
91行目: 75行目:
 
}}
 
}}
   
  +
== ヒントとテクニック ==
== KDE ウォレットを使って ssh 鍵のパスフレーズを保存 ==
 
   
  +
=== KDE Wallet を使って ssh 鍵のパスフレーズを保存する ===
{{Note|[[SSH エージェント]]が実行されている必要があります。}}
 
   
 
{{Pkg|ksshaskpass}} パッケージを[[インストール]]してください。
 
{{Pkg|ksshaskpass}} パッケージを[[インストール]]してください。
   
  +
{{ic|SSH_ASKPASS}} [[環境変数]]を {{ic|ksshaskpass}} に、{{ic|SSH_ASKPASS_REQUIRE}} を {{ic|prefer}} (TTY ではなく askpass プログラムを使うことを優先します) に設定してください。ログインの度に環境変数を自動的に設定するには、以下の {{man|5|environment.d}} ファイルを作成してください:
[[KDE#自動起動|自動起動 .desktop ファイル]]を[[作成]]してください:
 
   
{{hc|~/.config/autostart/ssh-add.desktop|2=
+
{{hc|~/.config/environment.d/ssh_askpass.conf|2=
  +
SSH_ASKPASS=/usr/bin/ksshaskpass
[Desktop Entry]
 
  +
SSH_ASKPASS_REQUIRE=prefer
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'' への引数としてそれらを渡すことでログイン時に自動的にそれらを追加できます。例:
 
   
  +
SSH 鍵の初回使用時には、パスフレーズの入力を求められます。''Remember password'' チェックボックスにチェックをいれてください。次回以降、パスフレーズは KDE Wallet から読み込まれます。
{{hc|~/.config/autostart/ssh-add.desktop|2=
 
[Desktop Entry]
 
Exec=ssh-add -q ~/.ssh/key1 ~/.ssh/key2 ~/.ssh/key3
 
Name=ssh-add
 
Type=Application
 
}}
 
   
  +
=== KDE ウォレットを使って Git の資格情報を保存 ===
グロビングなどの[[シェル]]の機能を使うには、シェルを起動して ''ssh-add'' コマンドを実行するように {{ic|1=Exec=}} の行を変更してください。例えば、[[Zsh]] の拡張グロビング機能を使って、ファイル名が {{ic|id}} で始まる全ての秘密鍵を ''ssh-add'' に追加するには:
 
   
  +
[[Git]] は資格情報ヘルパーに資格情報の処理を委託できます。{{Pkg|ksshaskpass}} を資格情報ヘルパーとして使うことで、HTTP/HTTPS と SMTP のパスワードは KDE ウォレットに安全に保存できます。
{{hc|~/.config/autostart/ssh-add.desktop|2=
 
[Desktop Entry]
 
Exec=zsh --extendedglob -c 'ssh-add -q ~/.ssh/id^*.pub < /dev/null'
 
Name=ssh-add
 
Type=Application
 
X-KDE-AutostartScript=true
 
}}
 
   
  +
{{Pkg|ksshaskpass}} パッケージを[[インストール]]してください。
}}
 
   
  +
{{ic|GIT_ASKPASS}} [[環境変数]]で Git を設定してください:
また、{{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 環境変数]を作成してください:
 
   
{{hc|~/.config/environment.d/ssh_askpass.conf|2=
+
{{hc|~/.config/environment.d/git_askpass.conf|2=
SSH_ASKPASS='/usr/bin/ksshaskpass'
+
GIT_ASKPASS=/usr/bin/ksshaskpass
SSH_ASKPASS_REQUIRE=prefer
 
 
}}
 
}}
   
  +
{{Tip|{{ic|SSH_ASKPASS}} 環境変数が[[#KDE ウォレットを使って ssh 鍵のパスフレーズを保存|ksshaskpass に設定されている]]場合、{{ic|GIT_ASKPASS}} を設定する必要はありません。}}
パスワードを尋ねてきて、SSH 鍵をアンロックします。kwallet のパスワードを入力すれば、再起動時に SSH 鍵がアンロックされるはずです。
 
   
  +
代替や詳細は {{man|7|gitcredentials}} を見てください。
新しい鍵を追加して kwallet でパスワードを保存するには、以下のコマンドを使ってください。
 
   
  +
=== GPG 鍵のパスフレーズを保存する ===
$ ssh-add ''/path/to/new/key'' </dev/null
 
   
  +
ネイティブな KDE ウィンドウは GPG 鍵のパスフレーズのプロンプトにを使用することができ、KDE Wallet 内にパスフレーズを保存するのに使用できます。
そして、上で説明したように {{ic|~/.config/autostart/ssh-add.desktop}} 内の鍵のリストにその鍵を追加して、kwallet のパスワード入力時にアンロックされるようにしてください。
 
   
  +
{{ic|/usr/bin/pinentry-qt}} を使うように {{ic|gpg-agent}} を[[GnuPG#pinentry|設定]]してください。
== KDE ウォレットを使って Git の資格情報を保存 ==
 
   
  +
Secret Service インターフェイスを有効化してください。方法は2つあります:
[[Git]] は資格情報ヘルパーに資格情報の処理を委託できます。{{Pkg|ksshaskpass}} を資格情報ヘルパーとして使うことで、HTTP/HTTPS と SMTP のパスワードは KDE ウォレットに安全に保存できます。
 
   
  +
* ''System Settings > KDE Wallet'' を開き、''Use KWallet for the Secret Service interface'' を有効化する。
{{Pkg|ksshaskpass}} パッケージを[[インストール]]してください。
 
  +
* KDE Wallet の設定ファイルを変更する:
   
  +
{{hc|head=~/.config/kwalletrc|output=[org.freedesktop.secrets]
{{ic|GIT_ASKPASS}} [[環境変数]]で Git を設定してください:
 
  +
apiEnabled=true
 
{{hc|~/.config/environment.d/git_askpass.conf|2=
 
GIT_ASKPASS='/usr/bin/ksshaskpass'
 
 
}}
 
}}
   
  +
これらの変更を適用するには、ウォレットを閉じ、再度開き直してください。これは、{{Pkg|kwalletmanager}} を使うか、または Qt D-Bus にコマンドを直接発行することで可能です:
{{Tip|{{ic|SSH_ASKPASS}} 環境変数が[[#KDE ウォレットを使って ssh 鍵のパスフレーズを保存|ksshaskpass に設定されている]]場合、{{ic|GIT_ASKPASS}} を設定する必要はありません。}}
 
   
  +
$ qdbus org.kde.kwalletd6 /modules/kwalletd6 closeAllWallets
代替や詳細は {{man|7|gitcredentials}} を見てください。
 
  +
$ qdbus org.kde.kwalletd6 /modules/kwalletd6 open ''kdewallet'' 0 $0
   
== Chrome と Chromium で KDE ウォレットを使う ==
+
=== Chrome と Chromium で KDE ウォレットを使う ===
   
 
Chrome/Chromium/Opera には組み込みのウォレット統合機能があります。それを有効化するには、{{ic|1=--password-store=kwallet5}} か {{ic|1=--password-store=detect}} を引数として渡して Chromium を実行してください。この変更を永続化させるには、[[Chromium#フラグを永続的に設定]] を見てください。(CHROMIUM_USER_FLAGS を設定してもうまく行きません。)
 
Chrome/Chromium/Opera には組み込みのウォレット統合機能があります。それを有効化するには、{{ic|1=--password-store=kwallet5}} か {{ic|1=--password-store=detect}} を引数として渡して Chromium を実行してください。この変更を永続化させるには、[[Chromium#フラグを永続的に設定]] を見てください。(CHROMIUM_USER_FLAGS を設定してもうまく行きません。)
   
== ターミナルからパスワードをクエリする ==
+
=== ターミナルからパスワードをクエリする ===
   
 
プレーンなテキストファイルにパスワードを保存する代わりに、''kwallet-query'' を使って手動で新しいエントリをウォレットに追加したり、取得したりできます。
 
プレーンなテキストファイルにパスワードを保存する代わりに、''kwallet-query'' を使って手動で新しいエントリをウォレットに追加したり、取得したりできます。
172行目: 142行目:
 
この方法では、パスワードはテキストファイルに保存されず、ターミナルの履歴ファイルにも残りません。
 
この方法では、パスワードはテキストファイルに保存されず、ターミナルの履歴ファイルにも残りません。
   
== ウインドウマネージャで KWallet を自動的にアンロックする ==
+
=== ウインドウマネージャで KWallet を自動的にアンロックする ===
   
 
ログインパスワードで保護された KWallet をアンロックするには、[[PAM]] の設定に加えて以下をウインドウマネージャの設定ファイルに追加する必要があります:
 
ログインパスワードで保護された KWallet をアンロックするには、[[PAM]] の設定に加えて以下をウインドウマネージャの設定ファイルに追加する必要があります:
178行目: 148行目:
 
exec --no-startup-id /usr/lib/pam_kwallet_init
 
exec --no-startup-id /usr/lib/pam_kwallet_init
   
== KWallet を無効化する ==
+
=== KWallet を無効化する ===
   
 
KWallet を永久に無効化したい場合:
 
KWallet を永久に無効化したい場合:
185行目: 155行目:
 
[Wallet]
 
[Wallet]
 
'''Enabled=false'''
 
'''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/kwalletd6
 
}}
 
}}
   
 
== 参照 ==
 
== 参照 ==
   
  +
* [[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|2022-08-01|739625}}
+
{{TranslationStatus|KDE Wallet|2024-04-10|805271}}

2024年4月10日 (水) 17:17時点における最新版

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 デスクトップ環境と同梱されています。KDE のウォレットサブシステムは kwallet パッケージで手動でインストールできます。

任意で、ウォレット管理ツールの kwalletmanager パッケージもインストールしてください。このツールは KDE Wallet をグラフィカルに作成・管理するために使用できます。

設定

ログイン時に 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 ログイン (ディスプレイマネージャなし、または greetd-tuigreet など) でアンロックするには、/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 Wallet を使って ssh 鍵のパスフレーズを保存する

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

SSH_ASKPASS 環境変数ksshaskpass に、SSH_ASKPASS_REQUIREprefer (TTY ではなく askpass プログラムを使うことを優先します) に設定してください。ログインの度に環境変数を自動的に設定するには、以下の environment.d(5) ファイルを作成してください:

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

セッションを再起動 (つまり再ログイン) し、環境変数を適用してください。

SSH 鍵の初回使用時には、パスフレーズの入力を求められます。Remember password チェックボックスにチェックをいれてください。次回以降、パスフレーズは KDE Wallet から読み込まれます。

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) を見てください。

GPG 鍵のパスフレーズを保存する

ネイティブな KDE ウィンドウは GPG 鍵のパスフレーズのプロンプトにを使用することができ、KDE Wallet 内にパスフレーズを保存するのに使用できます。

/usr/bin/pinentry-qt を使うように gpg-agent設定してください。

Secret Service インターフェイスを有効化してください。方法は2つあります:

  • System Settings > KDE Wallet を開き、Use KWallet for the Secret Service interface を有効化する。
  • KDE Wallet の設定ファイルを変更する:
~/.config/kwalletrc
[org.freedesktop.secrets]
apiEnabled=true

これらの変更を適用するには、ウォレットを閉じ、再度開き直してください。これは、kwalletmanager を使うか、または Qt D-Bus にコマンドを直接発行することで可能です:

$ qdbus org.kde.kwalletd6 /modules/kwalletd6 closeAllWallets
$ qdbus org.kde.kwalletd6 /modules/kwalletd6 open kdewallet 0 $0

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/kwalletd6

参照

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