<问题> 解决[email protected]: Permission denied (publickey). Could not read from remote repository.

问题:

当我要从github上下载我的一个项目时,通过ssh的方式下载时,报了如下的错误:

[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Failed during: git fetch origin master:refs/remotes/origin/master --tags --force

原因分析

Permission denied (publickey) 没有权限的publickey ,出现这错误一般是以下两种原因

  • 客户端与服务端未生成 ssh key
  • 客户端与服务端的ssh key不匹配

找到问题的原因了,解决办法也就有了,重新生成一次ssh key ,服务端也重新配置一次即可。

解决方案

电脑重置ssh
  • 重新生成ssh key
  ssh-keygen -t rsa -C "自己的邮箱"

然后一路回车即可

  • 验证github权限
  // 输入命令:
  ssh -v [email protected]

  // 显示结果:
  No more authentication methods to try.  
  Permission denied (publickey).
  • 获取ssh key 相关信息:
    在终端再执行以下命令
  ssh-agent -s
  ssh-add ~/.ssh/id_rsa 

得到ssh key文件路径的信息

github配置
  • 复制新生成的 id_rsa.pub 里的内容
  • 进入你的github账号,在settings下,new SSH key,然后将id_rsa.pub里的内容复制到Key中,完成后Add SSH Key。
验证ssh key

输入如下命令:

  ssh -T [email protected] 

提示如下:

Hi YuY-QK! You've successfully authenticated, but GitHub does not provide shell access.

说明:

  • 如果设置了 sshkey 还是 permission denied 怎么回事?
回到如下命令,检查当前配置的SSH对应的git账号;

然后用如下命令(id_rsa对应目标账户的私钥)命令,制定目标Git账号

ssh-add -k ~/.ssh/id_rsa

附上git教程:
https://git-scm.com/book/zh/v2

你可能感兴趣的:(<问题> 解决[email protected]: Permission denied (publickey). Could not read from remote repository.)