Skip to main content

错误:密钥已被使用

尝试添加已添加到其他帐户或存储库的密钥时,会发生此错误。

查找已使用密钥的位置

要确定已使用该密钥的位置,请打开终端并键入 ssh 命令。 使用 -i 标记提供要检查的密钥的路径:

$ ssh -T -ai ~/.ssh/id_rsa git@github.com
# Connect to GitHub.com using a specific ssh key
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.

响应中的用户名是 GitHub.com 上密钥当前附加到的帐户。 如果响应类似于“username/repo”,则表示密钥已作为部署密钥附加到存储库。

要强制 SSH 仅使用命令行上提供的密钥,请使用 -o 添加 IdentitiesOnly=yes 选项:

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

修复问题

为解决此问题,请先从其他帐户或存储库删除该密钥,然后将其添加到帐户

如果没有传输密钥的权限,请联系有权限的用户,删除密钥对并生成新的密钥对

部署密钥

在密钥作为部署密钥附加到一个仓库后,无法再用于另一个仓库。 如果在设置部署密钥时出现此错误,请参阅“管理部署密钥”。