KeePass
KeePass 是一种加密密码数据库格式。它是在线密码管理器的替代品,并在所有主要平台上都受支持。
该格式有两个版本:KeePass 1.x (Classic) 和 KeePass 2.x
安装
官方软件仓库中提供了 KeePass 的三个主要实现
- KeePassXC — KeePassX 的分支,它被积极维护,并具有浏览器集成、SSH 代理支持、secret service、Yubikey、指纹读取器、TOTP 生成器和 KeeShare 等附加功能。还提供 CLI。
- secrets — 一款构建在 KeePass 之上的现代 GNOME 密码管理器。
其他不太知名的替代方案可以在 AUR 中找到
- keepassc — 一款基于 curses 的密码管理器,兼容 KeePass v.1.x 和 KeePassX。它使用
xsel
进行剪贴板功能。
- kpcli — KeePass 数据库文件
*.kdb
或*.kdbx
的命令行界面。
- keepmenu — Keepass 数据库文件的 Dmenu/Rofi 前端。
- AuthPass — 基于 Flutter 的 KeePass 兼容密码管理器。默认支持 Gdrive、Dropbox 和 WebDav 同步。
- keeweb — 一款与 KeePass 2.x 兼容的 Web 应用程序(在线 / Electron)。KeeWeb 默认支持主要云服务 Gdrive、Onedrive、Dropbox 等的同步。自 2021 年 7 月 18 日发布 1.18.7 版本以来,没有积极的开发。
- KeePassX — 最初是 KeePass 的 Linux 移植版本。keepassx2AUR 使用 KeePass 2.x 格式,但可以导入 1.x 数据库。它还允许您导入 PwManager 和 KWallet XML 数据库。它不支持插件。[1] 自 2016 年以来没有积极的开发。[2]
- https://www.keepassx.org/ || keepassxAUR keepassx2AUR
集成
许多插件和扩展可用于将 KeePass 集成到其他软件。KeePassX 和 KeePassXC 没有插件接口,但 KeePassXC 内置了各种集成。
在 KeePass 中安装插件
KeePass 默认安装在 /usr/share/keepass/
。将 plugin.plgx
复制到 KeePass 安装目录下的 plugins 子目录中,如下所示
# mkdir /usr/share/keepass/plugins # cp plugin.plgx /usr/share/keepass/plugins
浏览器集成
KeePassXC 浏览器的 keepassxc-browser
keepassxc-browser 是 KeePassXC 内置浏览器集成的浏览器扩展,它使用 native-messaging 和 libsodium 进行传输加密。它的开发是为了取代 KeePassHTTP,因为 KeePassHTTP 的协议存在根本的安全问题。
开发者在以下位置提供浏览器扩展:
- Firefox 附加组件(适用于 Firefox 和 Tor Browser)以及
- 在 Chrome 网上应用店(适用于 Chromium、Google Chrome、Vivaldi 和 Brave)。
支持 Firefox 和 Chromium 分支。对于 librewolfAUR,打开 KeePassXC,转到工具 > 设置 > 浏览器集成 > 高级 > 配置位置:,并添加 ~/.librewolf/native-messaging-hosts
。
源代码以及其工作原理的解释可以在 GitHub 上找到,KeePassXC 开发者在其网站上提供了配置指南。
KeePass 的 keepassxc-browser
keepassxc-browser 也可以通过 AUR 中的 Keepass-natmsg 插件(keepass-natmsgAUR)与 KeePass 一起使用,并被推荐作为 KeePassHTTP 的继任者。
KeePassRPC 和 Kee
Kee(GitHub 仓库)是 Firefox 和 Chromium 的浏览器扩展,它通过 KeePassRPC(来自同一开发者的 KeePass 插件)集成 KeePass。
KeePass 插件可从 GitHub 或 AUR (keepass-plugin-rpcAUR) 获取。
浏览器扩展可以在 GitHub、Firefox 附加组件和 Chrome 网上应用店中找到。
通过自动输入功能
浏览器和 KeePass(XC) 之间直接通道的替代方案是使用自动输入功能。
要在 Wayland 上启用自动输入功能,编辑 /usr/share/applications/org.keepassxc.KeePassXC.desktop
并将 Exec
的值更改为 keepassxc -platform xcb
。或者,在启动 KeePassXC 之前设置 QT_QPA_PLATFORM=xcb
环境变量。但是,原生 Wayland 应用程序将无法使用自动输入。例如,自动输入在使用非 Wayland 的 Firefox 时有效,但使用 Wayland 时无效。
有一些浏览器扩展通过将页面 URL 放入窗口名称来支持这种方式
Nextcloud
- 打开 Nextcloud 内部的 Keepass 存储
Yubikey
得益于 KeePass 插件的贡献者,YubiKey 可以与 KeePass 集成。KeepassXC 提供了对 Yubikey 质询-响应的内置支持,无需插件。
使用 KeePass 配置
- 静态密码
- 配置一个 Yubikey 插槽以存储静态密码。您可以将密码设置为最多 65 个字符(带前导 "!" 时为 64 个字符)。然后,此密码可以用作您的 KeePass 数据库的主密码。
- 一次性密码 (OATH-HOTP)
- 从 KeePass 网站下载插件:https://keepass.info/plugins.html#otpkeyprov
- 使用 yubikey-personalization-gui-gitAUR 设置 OATH-HOTP
- 在高级模式下,取消勾选OATH 令牌标识符
- 在 KeePass 中,附加选项将显示在密钥文件 / 提供程序下,名为一次性密码 (OATH HOTP)
- 复制密钥、密钥长度(6 或 8)和计数器(在 Yubikey 个性化 GUI 中,此参数称为移动因子种子)
- 您可能需要将超前计数选项设置为大于 0 的值,请参阅此线程以获取更多信息
- 观看此视频以获取更多帮助
- 质询-响应 (HMAC-SHA1)
- 从 AUR 获取插件:keepass-plugin-keechallengeAUR
- 在 KeePass 中,附加选项将显示在密钥文件 / 提供程序下,名为Yubikey 质询-响应
- 插件假定使用插槽 2
SSH 代理
KeePassXC 提供 SSH 代理支持,KeePass 也使用 KeeAgent 插件提供类似功能。
该功能允许在 KeePass 数据库中存储 SSH 密钥,KeePassXC/KeeAgent 充当 OpenSSH 客户端,并动态地将密钥添加到代理并从中删除。
KeePassXC 中的此功能记录在其 FAQ 中。首先配置 SSH 代理以在登录时启动,并确保设置了 SSH_AUTH_SOCK
变量。然后注销并重新登录。现在,在 KeePassXC 设置中,启用 SSH 代理集成。UI 中显示的 SSH_AUTH_SOCK
值应与您之前配置的值相对应。
ssh-add -d
或 ssh-add -D
按需从代理中删除密钥,因此 KeePassXC/KeeAgent 在锁定数据库时无法删除它们。[3] [4]Secret Service
KeePassXC 包含 Freedesktop.org Secret Service 集成。可以通过进入设置(在工具菜单下),并选择您要共享的组来启用它(对于每个数据库,打开数据库 > 数据库设置...,然后转到Secret Service 集成选项卡)。
如果 KeePassXC 检测到另一个程序(例如 GNOME/Keyring)已经在提供该服务,它将拒绝启用其集成。您应该首先停止该程序;例如,对于 gnome-keyring,停止 gnome-keyring-daemon.service
用户单元。
请注意,您可能需要永久禁用该程序,否则 KeePassXC 的集成将在下次重启时失败。再次,对于 gnome-keyring,禁用 gnome-keyring-daemon.socket
(仍然是 systemd/User 的)。
为了确保 dbus 不会再次激活 gnome-keyring(由于某些奇怪的原因绕过 systemd 套接字...)删除这些文件
/usr/share/dbus-1/services/org.gnome.keyring.service
/usr/share/dbus-1/services/org.gnome.keyring.PrivatePrompter.service
/usr/share/dbus-1/services/org.gnome.keyring.SystemPrompter.service
/usr/share/dbus-1/services/org.freedesktop.secrets.service
/usr/share/dbus-1/services/org.freedesktop.impl.portal.Secret.service
/etc/xdg/autostart/gnome-keyring-secrets.desktop
/etc/xdg/autostart/gnome-keyring-pkcs11.desktop
/etc/xdg/autostart/gnome-keyring-ssh.desktop
并编辑您的 pacman 配置,以防止在重新安装或更新软件包时重新创建这些冲突文件
/etc/pacman.conf
NoExtract = usr/share/dbus-1/services/org.gnome.keyring.service usr/share/dbus-1/services/org.gnome.keyring.PrivatePrompter.service usr/share/dbus-1/services/org.gnome.keyring.SystemPrompter.service usr/share/dbus-1/services/org.freedesktop.secrets.service usr/share/dbus-1/services/org.freedesktop.impl.portal.Secret.service etc/xdg/autostart/gnome-keyring-secrets.desktop etc/xdg/autostart/gnome-keyring-pkcs11.desktop etc/xdg/autostart/gnome-keyring-ssh.desktop
自动启动
当应用程序请求密钥时,KeePassXC 不会自动启动,这可能会导致它们崩溃。D-Bus 自动启动文件可以被创建
${XDG_DATA_HOME:-$HOME/.local/share}/dbus-1/services/org.freedesktop.secrets.service
[D-BUS Service] Name=org.freedesktop.secrets Exec=/usr/bin/keepassxc
/usr/local/share
中创建文件。技巧和窍门
禁用您的剪贴板管理器
如果您是剪贴板管理器的狂热用户,您可能需要在启动 Keepass 之前禁用您的剪贴板管理器,然后在之后重新启动您的剪贴板管理器。
KeePassXC 实现具有在一段时间后自动清除剪贴板管理器的选项,足以粘贴复制的项目。
深色主题
要为 KeePass 启用深色主题,请安装 keepass-keethemeAUR。安装后,插件将在启动 KeePass 时编译。然后可以通过工具 > 深色主题或按 Ctrl+t
激活它。
故障排除
KeePassXC 2.6 的用户界面缩放问题
如果用户界面元素未正确缩放,请参阅 HiDPI#Qt 5 和 上游错误报告。
灰色的选项
某些选项(如启动时最小化并锁定)可能显示为灰色。根据 SourceForge 上的讨论,自 2.31 版本以来,KeePass 禁用了两个选项,因为它们在 Mono 上存在损坏的行为。
要强制启用这些功能,请使用 -wa-disable:1418
参数启动 KeePass。
错误缩放的托盘图标
在某些桌面环境中,由于 Mono 的错误,KeePass 的托盘图标可能显得太大或太小,根据 SourceForge 上的错误报告。
Keebuntu 包含三个插件以提供桌面集成
- keepass2-plugin-tray-iconAUR:适用于 Cinnamon 和 MATE;
- keepass-plugin-statusnotifier-gitAUR:适用于 Plasma 和 GNOME,带有 gnome-shell-extension-appindicator;
- keepass2-plugin-launcher:适用于 plank dock。
安装这些插件之一后,有时需要隐藏原始托盘图标,以防止系统托盘中出现重复图标。
Secret Service 集成
首先,检查存储密码的组是否已公开;工具 > 设置菜单包含每个数据库启用的组列表。如果数据库未公开正确的组,请选择其选项卡,打开数据库 > 数据库设置...,然后在Secret Service 集成选项卡中选择该组)。
请注意,合并数据库可能会导致其停止公开任何组。
KeePassXC、Plasma6 和 Wayland 的图形故障
如果您遇到图形故障,请安装 qt5-wayland 软件包。KeePassXC(截至 v2.7.7 版本)仍然使用 Qt5。