Ssh
ssh-keygen 無法驗證密鑰“未知選項–Y”
上下文:我正在嘗試在 Gitea 實例上驗證我的公鑰。Gitea 為我提供了一個令牌來生成簽名;說明說:
echo -n 'TOKEN_PROVIDED' | ssh-keygen -Y sign -n gitea -f PATH_TO_PUBLIC_KEY
當我這樣做時, ssh-keygen 回复
unknown option -- Y
我之前已經能夠在我的個人電腦上進行驗證,但是我登錄的伺服器上的 ssh-keygen 似乎具有不同的 ssh-keygen,因為它似乎缺少該標誌。
- 我應該使用不同版本的 ssh-keygen 嗎?
- 我還能如何驗證我目前的 ssh-keygen 版本?
具體的堆棧資訊(儘管我希望答案足夠籠統以適用於其他地方):
- Debian 10
您的 OpenSSH 版本太舊。
Debian 10 似乎有 version
7.9p1
,但是直到 version 才出現(以及對簽名和驗證的支持)的-Y
論點。ssh-keygen``8.0p1
Debian 10 即將報廢。一種解決方案是更新到更新的版本。
另一種解決方案是使用 Docker 或 Podman 之類的容器執行時來執行更新版本的
ssh-keygen
(例如,debian:11
映像包括 OpenSSH8.4p1
)。
對於來自 windows 的 ssh,在 cmd 中執行此命令(以管理方式打開):
notepad ~/.ssh/
之後,輸入選項卡完成,如:
notepad C:\Users\User\.ssh\known_hosts
在打開的記事本視窗中,刪除您嘗試連接的伺服器 IP 行。保存在記事本中並關閉它。再次SSH,它將被修復。
在 Linux 上:
vim ~/.ssh/known_hosts
和窗戶一樣。