不能。DBeaver社区版不支持系统钥匙串,因其采用自研跨平台加密方案,密码统一存于credentials-config.json并用硬编码AES密钥加密,刻意规避各平台凭证API以降低维护成本。

不能。DBeaver 社区版(包括最新 26.x)不支持将密码存入 macOS 钥匙串、Windows 凭据管理器或 Linux Secret Service。
为什么 DBeaver 不走系统钥匙串?
DBeaver 的凭据存储是自研的、跨平台统一的加密方案,核心逻辑是:所有密码都写进 credentials-config.json,用硬编码 AES-128-CBC 密钥 babb4a9f774ab853c96c2d653dfe544a 加密,IV 固定为全零。这个设计让 Windows/macOS/Linux 用户拿到同一份配置文件就能解密,但代价是绕过了系统级安全设施。
它不是“忘了加”,而是刻意为之——社区版把密码管理抽象成“本地 JSON + 固定密钥”,省去了对各平台凭证 API 的适配和维护成本。PRO 版也仅扩展了 LDAP/SSO 集成,仍未接入钥匙串。
credentials-config.json 存在哪?路径差异要盯紧
不同系统下该文件位置不一致,且容易因工作空间迁移或版本升级偏移:
- Windows:
%APPDATA%\DBeaverData\workspace6\.metadata\.plugins\org.jkiss.dbeaver.core\credentials-config.json - macOS:
~/Library/DBeaverData/workspace6/.metadata/.plugins/org.jkiss.dbeaver.core/credentials-config.json - Linux:
~/.local/share/DBeaverData/workspace6/.metadata/.plugins/org.jkiss.dbeaver.core/credentials-config.json
注意:workspace6 中的数字可能随 DBeaver 大版本变化(如 25.x → workspace5),不要硬记数字;.metadata 是 Eclipse 平台遗留目录,不是隐藏的 .dbeaver 文件夹——后者存的是 UI 布局等非敏感配置。
想用系统钥匙串?只有两个现实选项
你无法让 DBeaver 自动写入钥匙串,但可以绕过它手动接管:
- 关闭 DBeaver 的“保存密码”选项,在连接时每次手动输入,然后靠系统自带的自动填充(如 macOS Safari 自动填充、Windows Edge 密码管理器)来补全——前提是数据库连接 URL 和用户名能被识别为“网站凭据”(实际成功率低,因 jdbc:mysql:// 不是标准 URL 格式)
- 改用支持钥匙串的客户端:DataGrip(JetBrains 系列)原生集成 macOS 钥匙串和 Windows 凭据管理器;TablePlus 在 macOS 上也调用钥匙串 API;DBeaver 本身不提供该能力,别在设置里反复翻找“Keychain”或“Credential Provider”开关
最常被忽略的风险点
很多人解密出密码后直接复制使用,却没意识到:credentials-config.json 文件权限默认是宽松的(尤其 Windows 上用户组可读)。如果机器多人共用、或被远程备份工具同步到云盘,这个文件等于裸奔的密码本。真正该做的不是“怎么解密”,而是“怎么不让它落到磁盘”——比如用 SSH 隧道+公钥认证跳过密码登录,或启用数据库端的 OAuth2 / Kerberos 认证,让 DBeaver 根本不需要存密码。











