今天要从GitHub clone一个代码库:

git clone git@github.com:gshine/exampleofjsonrpc4j.git

提示报错:

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

查看了下已经把公钥上传到了github(如果你之前没配置过,可以参考这里生成并配置密钥。)

后来从网上查了下,执行了下面这个命令就好了。

ssh-add ~/.ssh/***_rsa

其中”***_rsa”换成你自己的密钥文件。配置完后可以通过

ssh -T git@github.com

来测试下联通性。

很奇怪,之前已经配置好的竟然突然出现这个问题,怀疑可能是ssh版本升级导致的。

总结下出现此问题,可以从以下几个方面来排查:

  • SSH key是否配置正确,参考此链接。
  • 密钥是否加到key-chain里,此问题可以通过ssh-add来解决。
  • 本地是否有多个ssh密钥对,如果是的话,需要在~/.ssh/config里面针对不同的host配置不同的私钥。参考此链接。
  • 可能代码库不存在