使用 Solokey (Yubiko) 无密码登录后如何解锁 Gnome 密钥环?

使用 Solokey (Yubiko) 无密码登录后如何解锁 Gnome 密钥环?

我在 Ubuntu 19.04 系统上进行了一些实验,看看这里: https://schulz.dk/2019/08/23/using-solokey-for-linux-login/ 和这里: https://wiki.gnome.org/Projects/GnomeKeyring/Pam#Advanced_configuration

之后创建了一个名为 common-fido-auth 的文件并将其包含在

/etc/pam.d/sudo 

和 /etc/pam.d/gdm-password

最后一张看起来像这样

#%PAM-1.0
session required pam_env.so readenv=1 user_readenv=0
session required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
@include common-fido-auth #instead of @include common-auth
@include common-account
@include common-session-noninteractive

我假设 common-auth 具有解锁 gnome 密钥环的模块并从 common-auth 复制了一些行

auth include common-fido
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_cap.so

common-fido 看起来像什么

auth sufficient pam_u2f.so
auth [success=1 default=ignore] pam_unix.so nullok_secure

但这似乎是错误的。 pam_unix.so 未正确解释,并且使用 Solokey 我必须输入 Gnome 密钥环的密码

有人有什么想法吗?

答案1

正如中提到的https://github.com/Yubico/pam-u2f/issues/130,Twinkybot 上面提到的,GNOME Keyring 需要密码才能解锁,所以如果您使用其他方式登录,就无法通过 pam 向 GNOME Keyring 守护进程提供密码。

替代方案包括:

  • 将密码留空。这确实意味着密钥环中存储的内容不再加密。
  • 使用存储在安全密钥(GPG 或 PIV)上的密钥对密码进行加密,因此,如果您将其插入登录,脚本可以使用保存加密密码的文件自动解锁您的密钥环。

答案2

现在有一个项目可以通过创建一个包含密钥环加密密码的文件来解决这个问题,该文件的形式可以使用硬件加密狗自动解密。

https://github.com/recolic/gnome-keyring-yubikey-unlock

相关内容