Gnome Keyring 是否支持新格式的 OpenSSH 私鑰?
是否支持以較新的 OpenSSH 文件格式
gnome-keyring
保存的 SSH 私鑰?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
.
現在情況略有變化。因此,GNOME 3.28 現在包裝了 OpenSSH 的 ssh-agent,這為它提供了與 OpenSSH 相同級別的支持。
參考 - Archlinux wiki - GNOME/Keyring
已知的問題
無法處理 ECDSA 和 Ed25519 密鑰
截至 2018 年 1 月,GNOME 密鑰環不處理ECDSA或 Ed25519密鑰。如果需要支持,可以求助於其他SSH 代理。
> > 注意:從 GNOME 3.28 開始,gnome-keyring 將其 SSH 代理實現替換為openssh附帶的 ssh-agent 工具的包裝器。因此,gnome-keyring 現在也支持上游 ssh-agent 支持的任何類型的密鑰,包括 ECDSA 和 Ed25519 密鑰。 > > >
如果你仍然發現你落後於這個特定版本,這個 Gist 將展示你如何使用它
keychain
來解決這個問題,標題為:SSH with ed25519 (curve25519) + GNOME-KeyRing。參考
唉,據我所知,Gnome Keyring 似乎不支持私鑰的新型文件格式。至少,有兩個關於 Gnome Keyring 的錯誤跟踪器的錯誤報告提出了這種說法: