KDE Wallet (简体中文)

From ArchWiki
翻译状态:本文是 KDE Wallet翻译。上次翻译日期:2019-4-11。如果英文版本有所更改,则您可以帮助同步翻译。

KDE Wallet Manager 是一个用于管理 KDE Plasma 上的密码的工具。KWallet子系统提供了访问和管理兼容KWallet的应用所保存的密码的功能,同时你也可以用它来保存你自己的密码。

在登录时自动解锁 Kwallet

注意:
  • kwallet-pamGnuPG keys 不兼容,所以 KDE Wallet 必须使用 blowfish 加密方式。
  • 所选择的 KWallet 密码必须与当前 用户 的密码相同。
  • KWallet 在账户使用自动登录的时候不会自动解锁。
  • 要自动解锁的 wallet 必须要命名为 kdewallet (这是默认的名字)。任何其他名字的 wallet 都不会自动解锁。
  • 如果桌面环境用的是 KDE, 建议关闭 KDE Wallet settings 里的 Close when last application stops using it 选项来防止 wallet 在每次被使用(比如获取WiFi密码)之后被关闭。
  • 可能需要先把默认创建的 wallet 删除——即删除所有已经储存的密码条目。
  • 如果 kwallet Migration Assistant在每次登录之后都要求输入密码,请重命名或删除 ~/.kde4/share/apps/kwallet 文件夹.

安装 kwallet-pam 包来提供对 PAM 的兼容模块。

选择性 安装 kwalletmanager 来使用 KWallet 管理工具。这个工具可以用于建立一个 blowfish 加密的KDE Wallet,同时提供了 kcm-module 没有提供的其他设置。

提示: 替代选项是使用 KWalletManager 然后设置一个空的 Kwallet 密码, 这样就可以避免需要输入密码来解锁 wallet。只要在 Change Password.. 的时候把两个框都留空就可以了。但是这样的话无法阻止对 wallet 的未授权访问。 因此非常建议打开 Access Control 里的 Prompt when an application accesses a wallet 选项来避免未授权访问。

配置 display manager

下面的几行必须存在于你使用的 Display Manager 的配置文件里:

auth            optional        pam_kwallet5.so
session         optional        pam_kwallet5.so auto_start

常见的 display manager 所需要修改的文件如下:

  • SDDM:不需要进行修改,因为 /etc/pam.d/sddm 里已经写好了。
  • GDM: 修改 /etc/pam.d/gdm-password
  • LightDM: 修改 /etc/pam.d/lightdm/etc/pam.d/lightdm-greeter
/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

使用 KDE Wallet 存储 ssh key passphrases

安装 ksshaskpass

创建 一个 autostart script file 并把它标记为 executable:

~/.config/autostart-scripts/ssh-add.sh
#!/bin/sh
ssh-add </dev/null
提示: 上面这个 ssh-add.sh 脚本只会添加默认的 ~/.ssh/id_rsa key。如果你在 ~/.ssh/ 下有多个SSH key,假设分别是 key1, key2, key3,你需要像下面这样修改脚本来自动添加它们:
~/.config/autostart-scripts/ssh-add.sh
#!/bin/sh
ssh-add $HOME/.ssh/key1 $HOME/.ssh/key2 $HOME/.ssh/key3 </dev/null

你需要设置环境变量 SSH_ASKPASSksshaskpass

export SSH_ASKPASS="/usr/bin/ksshaskpass"

它会要你输入密码来解锁 SSH keys。在重启之后,输入kwallet密码之后 SSH keys 就会被解锁。

如果要添加一个新的 key 并把密码储存在 kwallet里,使用这个命令:

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

并把这个 key 按照上面所说的方法添加到 ~/.config/autostart-scripts/ssh-add.sh 的 keys 列表里。

Chrome 和 Chromium 的 KDE Wallet 支持

Chrome/Chromium 内置了 wallet 支持。在运行 Chromium 的时候加上 --password-store=kwallet 或者 --password-store=detect 参数来启用它。如果需要永久启用这个参数,参考 Chromium/Tips and tricks#Making flags persistent。(设置 CHROMIUM_USER_FLAGS 是无效的。)

See also