如何使用 FIDO2 密钥解锁 kdewallet

如何使用 FIDO2 密钥解锁 kdewallet

我使用 FIDO2 密钥登录 KDE 会话,但 KDE 钱包要求输入密码。我正在使用它,发现将密钥、ssh 密码等保存在一个地方非常有用。有没有办法用 FIDO2 密钥解锁?或者可能有适用于 FIDO2 的替代钱包?

答案1

您无法使用 FIDO2 解锁您的 kwallet,因为钱包默认使用您的密码加密。如果您使用 FIDO2 进行无密码登录,则尚未输入您的密码,并且登录时无法解锁 kwallet。

作为参考,GNOME Keyring 也有同样的问题,请参阅:使用 Solokey (Yubiko) 无密码登录后如何解锁 Gnome 密钥环?

当前的密码管理器和密钥环软件(例如 GNOME Keyring、KWallet、KeePass 和 Bitwarden)使用密码来加密其数据库。所以他们不支持无密码解锁。 Bitwarden 即将推出无密码支持,并且可能会在其他产品中提供。还需要一段时间(如果?)GNOME Keyring 和 KWallet 才能实现这一点。

根据我收集的信息(我也有同样的问题),Linux 系统通常使用 PAM 系统来处理登录。许多发行版都设置了 PAM 模块,以便在登录时解锁系统密钥环 - GNOME Keyring ( pam_gnome_keyring) 和 KWallet ( ) 。pam_kwallet5对于 KWallet,它是kwalletd5由 PAM 模块调用用于解锁的守护进程pam_kwallet5

如何解锁 GNOME 密钥环上面的链接提到了一种使用 Yubico 密钥和 PGP 来解锁密钥环的方法。但仅 FIDO2 密钥不支持 PGP/GPG。无法使用仅 FIDO2 密钥来解锁密码加密的密钥环。 FIDO2 不提供密码:它提供了一种验证凭据的方法。

以下内容没有回答OP,但我想说最好的选择是使用一个秘密管理器,该管理器旨在由自动化系统在无人值守的情况下使用。我们可以使用它来存储登录密码,并且(如上面链接的帖子)在登录时启动脚本来解锁 kwallet。当然,这种方法会增加安全风险,因为您需要将机密管理器的凭据存储在某处。然后,有权访问您的会话的人可以检索您的密码。

我想到的两个产品:

更新age不支持ecdsa-sk或类型的 SSH 密钥ed25519-sk。因此,使用passageFIDO2 SSH 凭据保护密码数据库不是一种选择。

可以使用 FIDO2 密钥,而不是将秘密管理器的凭据存储在磁盘上。该age加密工具支持作为接收者加密到 SSH 密钥,并且 OpenSSH 现在支持使用 FIDO2 安全密钥创建 SSH 密钥对。我们可以使用 FIDO2 密钥,而不是passage在磁盘上存储凭据(我会确保加密 2 个 FIDO2 密钥,否则如果您丢失 FIDO2 密钥,您将无法解锁passage。)我尚未对此进行测试。

但是我还没有找到如何通过脚本解锁 kwallet。kwalletd5没有提供任何帮助。我想我可以用 GNOME Keyring 或 KeePassXC 替换 KWallet。

相关内容