是否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
答案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。