Github - 删除 ECDSA-SK 密钥

Posted

技术标签:

【中文标题】Github - 删除 ECDSA-SK 密钥【英文标题】:Github - deleting ECDSA-SK key 【发布时间】:2021-10-06 11:57:45 【问题描述】:

前段时间,在得知ECDSA-SK keys的存在时,我创建了这样一个key并添加到我的github账号中。

现在我正在尝试删除它,但它根本没有显示在键列表中。该列表仅显示我的“常规”SSH 密钥,但不显示 SK 密钥。

但是,SK 键可以正常工作。我可以用它推/拉(甚至从私人仓库推/拉),当尝试对其进行身份验证时,它显示为已连接到我的 github 帐户:

$ ssh -T -ai ~/.ssh/id_rsa.sk git@github.com
Hi bogd! You've successfully authenticated, but GitHub does not provide shell access.

另外,如果我尝试将其添加到我的帐户,github 会告诉我“密钥已在使用中”。

所以我的问题是 - 我需要去哪里删除这个密钥??

【问题讨论】:

您是否验证过该密钥实际上不是 GitHub Web 界面中显示的那个?尝试删除 GitHub 上的(公钥)密钥,看看是否还能执行 Git SSH 操作。 我可以保证 Web 界面中显示的密钥不是 SK 密钥 - 我正在其他机器上积极使用“常规”RSA 密钥,我没有可用的 Yubikey。此外,SHA256 哈希值也不同。 【参考方案1】:

来自 2021 年 5 月的 GitHub announcement,这是你应该看到的:

如果没有列出“skey”条目:

检查是否会在您准备好 YubiKey 后列出 检查您是否可以通过GitHub API 列出该密钥(您需要一个带有read:public_key scope 的令牌) 联系GitHub support进行调查。

the comments 中的 OP Bogd 报告 SK(安全密钥)被列为 Deploy Key

SSH 的“-i”参数仅将指定的密钥添加到客户端将尝试的密钥列表中。

由于我通常总是在代理中加载我的 RSA 密钥,因此很可能首先尝试了该密钥,这就是命令输出没有列出存储库的原因。

命令应该是:

ssh -v -o "IdentitiesOnly=yes" -i ~/.ssh/id_rsa.sk git@github.com'

【讨论】:

谢谢。我确实联系了 github 支持,看来该密钥被列为特定 repo 的部署密钥。这是真的,但根据文档,这应该显示在 SSH 命令的输出中......(docs.github.com/en/github/authenticating-to-github/…)。等待支持部门的更新,看看为什么没有发生这种情况。 @Bogd 感谢您的反馈。我已将您的评论包含在答案中以提高知名度。 得到了支持的回复 - SSH 的“-i”参数仅将指定的密钥添加到客户端将尝试的密钥列表中。由于我通常总是将我的 RSA 密钥加载到代理中,因此很可能首先尝试了该密钥,这就是命令输出未列出存储库的原因。该命令应该是 'ssh -v -o "IdentitiesOnly=yes" -i ~/.ssh/id_rsa.sk git@github.com'。他们会更新文档,但在那之前,也许您可​​以将其添加到您的答案中,以供其他偶然发现该问题的人使用? @Bogd 非常有趣的反馈。我在答案中再次包含了您的评论。 (不需要在问题中重复它,这是为了......提出问题) 我觉得这很重要,可以在此处提及,以防遇到相同问题的人想解决问题:)。由于您将其添加到答案中,因此我已将其从原始问题中删除。谢谢!

以上是关于Github - 删除 ECDSA-SK 密钥的主要内容,如果未能解决你的问题,请参考以下文章

现在在 Github 中删除我的 SSH 密钥是不是需要我输入用户名和密码?

github 上传与删除项目

我不小心在 django 中删除了我的密钥表单 settings.py

删除具有有效 ssh 密钥的存储库

如何在 git push 之前从 Android 项目中删除 API 密钥

git 强制回滚覆盖远程 源码库