我最近不得不重建我的笔记本电脑。在此过程中,我从 Fedora31 切换到 Kubuntu 20.04 LTS。除了一件事之外,切换过程中的一切都顺利进行。在我工作的地方,我们对所有登录都使用 2FA,并为此使用 yubi 密钥。我以为我已经正确设置了所有内容,但现在每当我尝试 ssh 到服务器(并使用 PIV)时,我都会收到此错误...
Enter passphrase for PKCS#11: Could not add card
"/usr/lib/x86_64-linux-gnu/libykcs11.so": agent refused operation
现在,每次我重新启动系统等时,我都必须像往常一样重新添加卡。这表明它已经正确添加。
ssh-add -s /usr/lib/x86_64-linux-gnu/libykcs11.so
Enter passphrase for PKCS#11:
Card added: /usr/lib/x86_64-linux-gnu/libykcs11.so
尽管如此,它仍然向我抛出那个烦人的错误。现在我可以手动输入我的密码,然后按下 Yubi 并登录。所以这不是什么大问题。但我们应该能够通过它进行 PIV,但这就是它不起作用的原因。真烦人。
我以为我已经正确设置了所有内容,但事实并非如此。在旧版本(重建之前)中,我完全导出了所有私钥和公钥以及信任。在新系统上,我导入了这些私钥和公钥以及信任文件。我还复制了我的 ssh 配置等。
在谷歌搜索了无数次后,我尝试了所有能找到的补救措施,包括验证证书文件本身的所有权和权限。据我所知,这些都正确。
-r-------- 1 REDACTED_USER REDACTED_USER 1537 Jan 20 2020 id_rsa-cert.pub
如果我执行“ssh-add -l”,我确实会在那里看到正确的签名。
ssh-add -l
2048 SHA256:<<REDACTED>> Public key for Digital Signature (RSA)
2048 SHA256:<<REDACTED>> Public key for PIV Attestation (RSA)
虽然我在这里编辑了它,但我确实验证了密钥的 sha256 值确实与相关服务器匹配。
因此很明显,该问题是由我的笔记本电脑上的用户配置问题引起的。
有人对这个问题可能是什么有什么想法吗?
答案1
确保您的密钥具有受限权限:
chmod 600 ~/.ssh/id_rsa-cert