查找密钥的使用位置
要确定密钥已在何处使用,请打开终端并键入ssh
命令。使用-i
标志提供要检查的密钥的路径。
$ ssh -T -ai ~/.ssh/id_rsa [email protected]
# Connect to GitHub.com using a specific ssh key
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.
响应中的用户名是当前附加密钥的 GitHub.com 上的帐户。如果响应类似于“用户名/存储库”,则该密钥已作为部署密钥附加到存储库。
要强制 SSH 只使用命令行上提供的密钥,请使用-o
添加IdentitiesOnly=yes
选项。
ssh -v -o "IdentitiesOnly=yes" -i ~/.ssh/id_rsa [email protected]
解决问题
要解决此问题,首先从其他帐户或存储库中删除密钥,然后将其添加到您的帐户。
如果您没有权限转移密钥,并且无法联系具有权限的用户,请删除密钥对并生成一个全新的密钥。
部署密钥
密钥一旦作为部署密钥附加到一个存储库,就不能用于另一个存储库。如果您在设置部署密钥时遇到此错误,请参阅“管理部署密钥”。