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 web store(适用于 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,KeePassRPC 是来自同一开发者的 KeePass 插件。
KeePass 插件可从 GitHub 或 AUR (keepass-plugin-rpcAUR) 获取。
浏览器扩展可以在 GitHub、Firefox 附加组件 和 chrome web store 中找到。
通过自动输入功能
浏览器和 KeePass(XC) 之间直接通道的替代方案是使用自动输入功能。
要在 Wayland 上启用自动输入功能,编辑 /usr/share/applications/org.keepassxc.KeePassXC.desktop
并将 Exec
的值更改为 keepassxc -platform xcb
。或者,在启动 KeePassXC 之前设置 QT_QPA_PLATFORM=xcb
环境变量。但是,原生 Wayland 应用程序将无法与自动输入一起使用。例如,当在没有 Wayland 的情况下运行 Firefox 时,自动输入有效,但在 Wayland 下无效。
有一些浏览器扩展通过将页面 URL 放入窗口名称来支持这种方式
- KeePass Helper 或 TitleURL 适用于 Firefox
- URL in title 适用于 Chromium
Nextcloud
- 在 Nextcloud 内部打开 Keepass 存储
Yubikey
感谢 KeePass 插件的贡献者,YubiKey 可以与 KeePass 集成。KeepassXC 提供对 Yubikey 挑战-响应的内置支持,无需插件。
与 KeePass 的配置
- StaticPassword
- 配置 Yubikey 插槽之一以存储静态密码。您可以使密码强度高达 65 个字符(64 个字符,前导“!”)。然后,此密码可以用作 KeePass 数据库的主密码。
- 一次性密码 (OATH-HOTP)
- 从 KeePass 网站下载插件:https://keepass.info/plugins.html#otpkeyprov
- 使用 yubikey-personalization-gui-gitAUR 设置 OATH-HOTP
- 在高级模式下,取消勾选OATH Token Identifier
- 在 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 上存在 broken behaviors。
要强制启用这些功能,请使用 -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。