使用SSH克隆BitBucket仓库提示Permission denied (publickey)错误如何解决
问题排查与解决步骤
- 首先验证SSH与BitBucket的连通性,执行命令:
若返回包含你BitBucket用户名的欢迎提示,说明密钥验证正常,否则继续往下排查。ssh -T git@bitbucket.org - 检查公钥粘贴是否正确
打开本地id_rsa.pub公钥文件,确认复制的内容是完整的一行,包含开头的ssh-rsa标识和结尾的绑定邮箱,没有多余的空格、换行符或者遗漏字符,再重新粘贴到BitBucket的SSH Keys配置中。 - 校验本地私钥权限(适用于macOS/Linux系统)
SSH对私钥的权限有严格要求,权限过高会直接拒绝访问,执行以下命令修正权限:chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa - 检查本地SSH配置
查看~/.ssh/config文件,确认是否存在bitbucket.org的相关配置错误,你也可以添加以下配置指定访问BitBucket时使用的私钥:Host bitbucket.org User git IdentityFile ~/替换为你的私钥实际存储路径/id_rsa - 确认账号权限匹配
确认你上传公钥的BitBucket账号,对要克隆的仓库有对应读取权限,避免出现公钥上传到其他账号、或者账号未被加入仓库协作列表的情况。 - 验证私钥加载状态
执行命令ssh-add -l查看当前ssh-agent加载的密钥列表,确认你的目标私钥在列表中,如果没有重新执行ssh-add 私钥路径加载即可。
如果以上步骤都排查完成仍有报错,可以在克隆命令中添加-v参数输出详细调试日志定位问题:
git clone -v 你的SSH仓库地址
内容的提问来源于stack exchange,提问作者Javri
相关产品推荐
相关产品推荐

