记一次gitee的ssh密钥配置后持续Permission denied (publickey)

270 阅读1分钟

尝试一:有的文章建议重新生成一遍就好了,按官方教程重新生成后还是报错:

ssh-keygen -t ed25519 -C "...@qq.com"
ssh -T git@gitee.com
# git@gitee.com: Permission denied (publickey).

git push
# git@gitee.com: Permission denied (publickey).
# 致命错误:无法读取远程仓库。

# 请确认您有正确的访问权限并且仓库存在。

尝试二:用之前的另一种加密算法生成密钥:同样的报错

ssh-keygen -t rsa -C "...@qq.com"

尝试三(正确的方式):

  1. 使用 ssh -Tvvv git@gitee.com 打印出日志: image.png 可以看出校验时尝试了很多文件路径,但我生成密钥时自定义了一个文件名,导致这里的尝试都失败了;
  2. 所以在网上搜索了一下配置ssh查找密钥文件路径的方式:"可以在.ssh/config文件里配置不同ssh host的校验文件"
  3. .ssh/config文件里追加
 Host gitee.com
          PreferredAuthentications publickey
          IdentityFile ~/.ssh/file_name_of_your_private_key

然后就OK了

补充

作为参考gitcode.csdn.net/65aa2c4cb8e… 这篇文章提到尝试二中的rsa算法过时了也可能导致ssh连接失败,但是我这边尝试了一下rsa的密钥也是可以用的;

文章参考

gitcode.csdn.net/65aa2c4cb8e…