「KDE Wallet」の版間の差分
(translateme) |
(同期) |
||
1行目: | 1行目: | ||
− | {{Translateme|2017年以降、同期されていません。}} |
||
[[Category:KDE]] |
[[Category:KDE]] |
||
[[ar:KDE Wallet]] |
[[ar:KDE Wallet]] |
||
5行目: | 4行目: | ||
[[es:KDE Wallet]] |
[[es:KDE Wallet]] |
||
[[zh-hans:KDE Wallet]] |
[[zh-hans:KDE Wallet]] |
||
− | [ |
+ | [https://utils.kde.org/projects/kwalletmanager/ KDE Wallet Manager] は、[[KDE]] Plasma システムでパスワードを管理するためのツールです。KDE ウォレットサブシステムを使うことで秘密を守ることだけでなく、KDE ウォレットと連動する全てのアプリケーションのパスワードを管理することができます。 |
== ログイン時に KDE ウォレットを自動的にアンロック == |
== ログイン時に KDE ウォレットを自動的にアンロック == |
||
− | KDE ウォレットのパスワード |
+ | ログイン時に KDE ウォレットを自動的にアンロックするには、[[PAM]] 互換モジュールの {{Pkg|kwallet-pam}} を[[インストール]]してください。また、KDE ウォレットパスワードは現在の[[ユーザー]]のパスワードと一致していなければなりません。 |
+ | {{Note| |
||
− | {{Pkg|kwallet-pam}} パッケージを[[インストール]]してください。 |
||
+ | * {{Pkg|kwallet-pam}} は [[GnuPG]] 鍵とは互換性がありません。KDE ウォレットは標準的な {{ic|blowfish}} 暗号を使わなければなりません。 |
||
+ | * 自動ログインを使うときは、自動ログインのメソッドがパスワードを保存している場合に限りウォレットをアンロックできます。例えば、[[pam_autologin]] は可能です。 |
||
+ | * ログインに指紋を使用する場合、ウォレットはアンロックできません。 |
||
+ | * ウォレットの名前は {{ic|kdewallet}} (デフォルト名)でなければなりません。これは他のウォレットをアンロックしません。 |
||
+ | * [[KDE]] を使用している場合、ウォレットが使用後([[WiFi]] のパスフレーズのアンロックなど)に閉じられないようにするために、KDE ウォレット設定で ''最後のアプリケーションが使い終わったときに閉じる'' を無効化する必要があるかもしれません。 |
||
+ | * まず先に、保存されている全てのエントリを削除して、デフォルトで作成されたウォレットを削除する必要があるかもしれません。 |
||
+ | * kwallet Migration Assistant がログイン後に毎回パスワードを尋ねてくる場合、{{ic|~/.kde4/share/apps/kwallet}} フォルダを削除するか名前を変更してください。 |
||
+ | }} |
||
+ | |||
+ | 任意で、ウォレットの管理ツールの {{Pkg|kwalletmanager}} を[[インストール]]してください。このツールは、''kcm-module'' で提供されない設定と {{ic|blowfish}} 暗号のある KDE ウォレットを作成するのに使用できます。 |
||
+ | |||
+ | {{Tip|あるいは、KWalletManager を使用して、空の Kwallet パスワードを設定することで、パスワード無しでウォレットのアンロックを可能にできます。''パスワードを変更..'' の両方の入力欄を空欄にしてください。しかし、これによりユーザのウォレットに対して望まない(読み込み/書き込み)アクセスを招く恐れがあります。ウォレットに対する望まないアクセスを防ぐために ''アクセス管理'' の ''アプリケーションがウォレットにアクセスするときに通知する'' を有効化することを強くおすすめします。}} |
||
+ | |||
+ | === PAM の設定 === |
||
+ | 以下の行は、対応するそれぞれのセクションになければなりません: |
||
− | [[SDDM]] を使っていない場合、利用しているディスプレイマネージャの PAM ファイルを編集し、適当なセクションの下に以下の2行を追加してください: |
||
{{bc|1= |
{{bc|1= |
||
20行目: | 33行目: | ||
}} |
}} |
||
− | + | 状況に合わせて [[PAM]] 設定ファイルを編集してください: |
|
+ | |||
+ | * [[SDDM]] の場合、{{ic|/etc/pam.d/sddm}} に上記の行がすでに存在するため、編集する必要はありません。 |
||
+ | * [[GDM]] の場合、{{ic|/etc/pam.d/gdm-password}} を適宜編集してください。 |
||
+ | * [[greetd]] の場合、{{ic|/etc/pam.d/greetd}} を適宜編集してください。 |
||
+ | * [[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= |
||
+ | auth optional pam_kwallet5.so |
||
+ | session optional pam_kwallet5.so auto_start '''force_run''' |
||
+ | }} |
||
{{hc|/etc/pam.d/lightdm|2= |
{{hc|/etc/pam.d/lightdm|2= |
||
35行目: | 59行目: | ||
}} |
}} |
||
+ | {{hc|/etc/pam.d/lightdm-autologin|2= |
||
− | [[GDM]] であれば {{ic|/etc/pam.d/gdm-password}} を編集してください。 |
||
+ | #%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 |
||
− | 再起動後、Kwallet のパスワードとユーザーのパスワードが同じ場合、自動的にウォレットのロックが解除されます。 |
||
+ | password include system-local-login |
||
− | {{Note|現在のところ、kwallet-pam には少なくとも2つの制限があります。まず、[[GnuPG]] キーとの互換性がないため、KDE Wallet は標準の blowfish の暗号化を使用する必要があります。また、ウォレット名は "kdewallet"(デフォルト名)でなければなりません。何らかの理由で新しいウォレットを作成する場合は、この名前を使用する必要があります (古いウォレットの名前も変更する必要があります)。}} |
||
+ | session include system-local-login |
||
− | == KDE ウォレットを使って ssh 鍵を保存 == |
||
+ | '''session optional pam_kwallet5.so auto_start''' |
||
+ | }} |
||
+ | {{hc|/etc/pam.d/greetd|2= |
||
− | まず、[[SSH 鍵#SSH エージェント|SSH エージェント]]が動いていることを確認してください。 |
||
+ | #%PAM-1.0 |
||
+ | auth required pam_securetty.so |
||
− | {{Pkg|ksshaskpass}} パッケージをインストールしてください。 |
||
+ | 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''' |
||
− | 自動起動ファイルを作成して [[chmod]] で実行可能属性を付与します: |
||
− | {{hc|~/.config/autostart-scripts/ssh-add.sh| |
||
− | #!/bin/sh |
||
− | ssh-add </dev/null |
||
}} |
}} |
||
+ | == KDE ウォレットを使って ssh 鍵のパスフレーズを保存 == |
||
− | {{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: |
||
+ | {{Note|[[SSH エージェント]]が実行されている必要があります。}} |
||
− | {{hc|~/.config/autostart-scripts/ssh-add.sh| |
||
+ | |||
− | #!/bin/sh |
||
+ | {{Pkg|ksshaskpass}} パッケージを[[インストール]]してください。 |
||
− | ssh-add $HOME/.ssh/key1 $HOME/.ssh/key2 $HOME/.ssh/key3 </dev/null |
||
+ | |||
+ | [[KDE#自動起動|自動起動 .desktop ファイル]]を[[作成]]してください: |
||
+ | |||
+ | {{hc|~/.config/autostart/ssh-add.desktop|2= |
||
+ | [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= |
||
+ | [Desktop Entry] |
||
+ | Exec=ssh-add -q ~/.ssh/key1 ~/.ssh/key2 ~/.ssh/key3 |
||
+ | Name=ssh-add |
||
+ | Type=Application |
||
}} |
}} |
||
+ | グロビングなどの[[シェル]]の機能を使うには、シェルを起動して ''ssh-add'' コマンドを実行するように {{ic|1=Exec=}} の行を変更してください。例えば、[[Zsh]] の拡張グロビング機能を使って、ファイル名が {{ic|id}} で始まる全ての秘密鍵を ''ssh-add'' に追加するには: |
||
− | また、{{ic|SSH_ASKPASS}} [[環境変数]]をセットするスクリプトを読み込む必要があります: |
||
+ | {{hc|~/.config/autostart/ssh-add.desktop|2= |
||
− | export SSH_ASKPASS="/usr/bin/ksshaskpass" |
||
+ | [Desktop Entry] |
||
+ | Exec=zsh --extendedglob -c 'ssh-add -q ~/.ssh/id^*.pub < /dev/null' |
||
+ | Name=ssh-add |
||
+ | Type=Application |
||
+ | X-KDE-AutostartScript=true |
||
+ | }} |
||
+ | }} |
||
− | パスワードを要求して SSH 鍵を解除します。再起動後は kwallet にパスワードを与えた時に SSH 鍵が解除されます。 |
||
+ | また、{{ic|SSH_ASKPASS}} [[環境変数]]を {{ic|ksshaskpass}} に設定する必要があります。ログイン時にその環境変数を自動的に設定するには、以下の [https://man.archlinux.org/man/environment.d.5 systemd 環境変数]を作成してください: |
||
− | 新しい鍵を追加して kwallet でパスワードを保存するには以下のコマンドを使って下さい: |
||
+ | {{hc|~/.config/environment.d/ssh_askpass.conf|2= |
||
− | $ ssh-add /path/to/new/key </dev/null |
||
+ | SSH_ASKPASS='/usr/bin/ksshaskpass' |
||
+ | }} |
||
− | + | パスワードを尋ねてきて、SSH 鍵をアンロックします。kwallet のパスワードを入力すれば、再起動時に SSH 鍵がアンロックされるはずです。 |
|
+ | 新しい鍵を追加して kwallet でパスワードを保存するには、以下のコマンドを使ってください。 |
||
− | == KDE ウォレットと firefox == |
||
+ | $ ssh-add ''/path/to/new/key'' </dev/null |
||
− | [[Firefox]] には [https://addons.mozilla.org/addon/kde5-wallet-password-integrati/ KDE5 Wallet] を使ってパスワードを保存させるアドオンが存在します。 |
||
+ | そして、上で説明したように {{ic|~/.config/autostart/ssh-add.desktop}} 内の鍵のリストにその鍵を追加して、kwallet のパスワード入力時にアンロックされるようにしてください。 |
||
− | == KDE ウォレットと chromium == |
||
+ | and append the key to the list of keys in {{ic|~/.config/autostart/ssh-add.desktop}} as explained above to have it unlocked upon providing the kwallet password. |
||
− | Chrome/Chromium は初めからウォレットに対応しています。 |
||
+ | == KDE ウォレットを使って Git の資格情報を保存 == |
||
− | 有効にするには {{ic|<nowiki>--password-store=kwallet</nowiki>}} または {{ic|<nowiki>--password-store=detect</nowiki>}} を使って Chromium ブラウザを起動してください。変更を永続化したい場合、[[Chromium 設定#フラグを永続的に設定]]を見てください (CHROMIUM_USER_FLAGS の設定は機能しません)。 |
||
+ | |||
+ | [[Git]] は資格情報ヘルパーに資格情報の処理を委託できます。{{Pkg|ksshaskpass}} を資格情報ヘルパーとして使うには、HTTP/HTTPS と SMTP のパスワードは KDE ウォレットに安全に保存できます。 |
||
+ | |||
+ | {{Pkg|ksshaskpass}} パッケージを[[インストール]]してください。 |
||
+ | |||
+ | {{ic|GIT_ASKPASS}} [[環境変数]]で Git を設定してください: |
||
+ | |||
+ | {{hc|~/.config/environment.d/git_askpass.conf|2= |
||
+ | 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''' |
||
+ | }} |
||
== 参照 == |
== 参照 == |
2022年7月18日 (月) 11:14時点における版
KDE Wallet Manager は、KDE Plasma システムでパスワードを管理するためのツールです。KDE ウォレットサブシステムを使うことで秘密を守ることだけでなく、KDE ウォレットと連動する全てのアプリケーションのパスワードを管理することができます。
目次
ログイン時に KDE ウォレットを自動的にアンロック
ログイン時に KDE ウォレットを自動的にアンロックするには、PAM 互換モジュールの kwallet-pam をインストールしてください。また、KDE ウォレットパスワードは現在のユーザーのパスワードと一致していなければなりません。
任意で、ウォレットの管理ツールの kwalletmanager をインストールしてください。このツールは、kcm-module で提供されない設定と blowfish
暗号のある KDE ウォレットを作成するのに使用できます。
PAM の設定
以下の行は、対応するそれぞれのセクションになければなりません:
auth optional pam_kwallet5.so session optional pam_kwallet5.so auto_start
状況に合わせて PAM 設定ファイルを編集してください:
- SDDM の場合、
/etc/pam.d/sddm
に上記の行がすでに存在するため、編集する必要はありません。 - GDM の場合、
/etc/pam.d/gdm-password
を適宜編集してください。 - greetd の場合、
/etc/pam.d/greetd
を適宜編集してください。 - LightDM の場合、
/etc/pam.d/lightdm
と/etc/pam.d/lightdm-autologin
ファイルを編集してください: - 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/lightdm
#%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
/etc/pam.d/lightdm-autologin
#%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
/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 鍵のパスフレーズを保存
ksshaskpass パッケージをインストールしてください。
自動起動 .desktop ファイルを作成してください:
~/.config/autostart/ssh-add.desktop
[Desktop Entry] Exec=ssh-add -q Name=ssh-add Type=Application
また、SSH_ASKPASS
環境変数を ksshaskpass
に設定する必要があります。ログイン時にその環境変数を自動的に設定するには、以下の systemd 環境変数を作成してください:
~/.config/environment.d/ssh_askpass.conf
SSH_ASKPASS='/usr/bin/ksshaskpass'
パスワードを尋ねてきて、SSH 鍵をアンロックします。kwallet のパスワードを入力すれば、再起動時に SSH 鍵がアンロックされるはずです。
新しい鍵を追加して kwallet でパスワードを保存するには、以下のコマンドを使ってください。
$ ssh-add /path/to/new/key </dev/null
そして、上で説明したように ~/.config/autostart/ssh-add.desktop
内の鍵のリストにその鍵を追加して、kwallet のパスワード入力時にアンロックされるようにしてください。
and append the key to the list of keys in ~/.config/autostart/ssh-add.desktop
as explained above to have it unlocked upon providing the kwallet password.
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) を見てください。
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