上下文:我试图在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,因为它似乎缺少这个标志。
具体的堆栈信息(虽然我希望答案足够一般,可以适用于其他地方):
发布于 2022-09-18 21:28:28
您的OpenSSH版本太老了。
Debian 10似乎有版本7.9p1,但是ssh-keygen的-Y参数(以及一般对签名和验证的支持)直到8.0p1版本才出现。
德比安10号是徒弟结束生命。一种解决方案是更新到最近的版本。
另一种解决方案是使用诸如Docker或Podman这样的容器运行时来运行更新版本的ssh-keygen (例如,debian:11映像包括OpenSSH 8.4p1)。
发布于 2022-09-19 10:52:32
对于windows中的ssh,在cmd中执行此命令(以管理方式打开):
notepad ~/.ssh/在此之后,输入选项卡以完成以下操作:
notepad C:\Users\User\.ssh\known_hosts在打开的记事本窗口中,删除要连接的服务器IP行。保存在记事本中并关闭它。再次,它将被修复。
在Linux上:
vim ~/.ssh/known_hosts和窗户一样。
https://serverfault.com/questions/1111006
复制相似问题