「KDE Wallet」の版間の差分
細 (→KDE ウォレットを使って ssh 鍵のパスフレーズを保存: 修正) |
(同期) |
||
(同じ利用者による、間の6版が非表示) | |||
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/ |
+ | {{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}} に設定する必要があります。ログイン時にその環境変数を自動的に設定するには、以下の [https://man.archlinux.org/man/environment.d.5 systemd 環境変数]を作成してください: |
||
− | {{hc|~/.config/environment.d/ |
+ | {{hc|~/.config/environment.d/git_askpass.conf|2= |
− | + | GIT_ASKPASS=/usr/bin/ksshaskpass |
|
}} |
}} |
||
+ | {{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'' を使って手動で新しいエントリをウォレットに追加したり、取得したりできます。 |
||
171行目: | 142行目: | ||
この方法では、パスワードはテキストファイルに保存されず、ターミナルの履歴ファイルにも残りません。 |
この方法では、パスワードはテキストファイルに保存されず、ターミナルの履歴ファイルにも残りません。 |
||
− | == ウインドウマネージャで KWallet を自動的にアンロックする == |
+ | === ウインドウマネージャで KWallet を自動的にアンロックする === |
ログインパスワードで保護された KWallet をアンロックするには、[[PAM]] の設定に加えて以下をウインドウマネージャの設定ファイルに追加する必要があります: |
ログインパスワードで保護された KWallet をアンロックするには、[[PAM]] の設定に加えて以下をウインドウマネージャの設定ファイルに追加する必要があります: |
||
177行目: | 148行目: | ||
exec --no-startup-id /usr/lib/pam_kwallet_init |
exec --no-startup-id /usr/lib/pam_kwallet_init |
||
− | == KWallet を無効化する == |
+ | === KWallet を無効化する === |
KWallet を永久に無効化したい場合: |
KWallet を永久に無効化したい場合: |
||
184行目: | 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|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 Wallet はよく KDE Plasma デスクトップ環境と同梱されています。KDE のウォレットサブシステムは kwallet パッケージで手動でインストールできます。
任意で、ウォレット管理ツールの kwalletmanager パッケージもインストールしてください。このツールは KDE Wallet をグラフィカルに作成・管理するために使用できます。
設定
ログイン時に KDE ウォレットを自動的にアンロック
ログイン時に KDE ウォレットを自動的にアンロックするには、PAM 互換モジュールの kwallet-pam をインストールしてください。また、KDE ウォレットパスワードは現在のユーザーのパスワードと一致していなければなりません。
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_REQUIRE
を prefer
(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
代替や詳細は 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