尝试一:有的文章建议重新生成一遍就好了,按官方教程重新生成后还是报错:
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"
尝试三(正确的方式):
- 使用
ssh -Tvvv git@gitee.com打印出日志:可以看出校验时尝试了很多文件路径,但我生成密钥时自定义了一个文件名,导致这里的尝试都失败了;
- 所以在网上搜索了一下配置ssh查找密钥文件路径的方式:"可以在
.ssh/config文件里配置不同ssh host的校验文件" - 在
.ssh/config文件里追加
Host gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/file_name_of_your_private_key
然后就OK了
补充
作为参考:gitcode.csdn.net/65aa2c4cb8e… 这篇文章提到尝试二中的rsa算法过时了也可能导致ssh连接失败,但是我这边尝试了一下rsa的密钥也是可以用的;