Gnome Keyring 是否支持新格式的 OpenSSH 私钥?

Gnome Keyring 是否支持新格式的 OpenSSH 私钥?

是否gnome-keyring支持保存在较新的 OpenSSH 文件格式? Gnome Keyring 会自动导入这些私钥吗?

更详细地说:生成 SSH 私钥时,ssh-keygen可以将私钥保存为较新的 OpenSSH 格式(而不是“更兼容的 PEM 格式”)。在这种格式下,私钥文件以“ -----BEGIN OPENSSH PRIVATE KEY-----”开头。

我刚刚为 SSH 生成了一个新的 RSA 私钥,并将其保存为较新的格式,使用ssh-keygen -t rsa -b 3072 -o -a 16.现在 Gnome Keyring 似乎无法加载该私钥。相比之下,使用时一切似乎都工作正常ssh-agent

当将 Gnome Keyring 与此新私钥一起使用时,我在以下位置看到以下错误消息/var/log/messages

gnome-keyring-daemon[10904]: invalid or unrecognized private SSH key: [key id]
gnome-keyring-daemon[10904]: signing of the data failed: The operation failed

当我尝试运行时ssh,我在终端中看到以下错误消息:

sign_and_send_pubkey: signing failed: agent refused operation

如果相关的话,我正在使用 Fedora 25 和 MATE,以及gnome-keyring-3.20.0-1.fc25.x86_64.

答案1

唉,据我所知,Gnome Keyring 似乎不支持新型私钥文件格式。至少,Gnome Keyring 的错误跟踪器上有两个错误报告表明了这一说法:

  • 错误 750986说不支持 PBKDF2。默认情况下,新文件格式启用 PBKDF2。

  • 错误 702529说不支持新的文件格式(见评论1)。

答案2

现在情况略有变化。因此,GNOME 3.28 现在封装了 OpenSSH 的 ssh-agent,这为它提供了与 OpenSSH 相同级别的支持。

参考 - Archlinux wiki - GNOME/Keyring

已知的问题

无法处理 ECDSA 和 Ed25519 密钥

截至 2018 年 1 月,GNOME 密钥环不处理电子CDSA也不 埃德25519键。你可以转向其他SSH 代理如果您需要这些支持。

笔记:从 GNOME 3.28 开始,gnome-keyring 将其 SSH 代理实现替换为 ssh-agent 工具的包装器,该工具附带打开ssh。因此,上游 ssh-agent 支持的任何类型的密钥现在也受 gnome-keyring 支持,包括 ECDSA 和 Ed25519 密钥。

如果您仍然发现自己落后于这个特定版本,此要点显示了如何使用它keychain来解决此问题,标题为:SSH 与 ed25519 (curve25519) + GNOME-KeyRing

参考

相关内容