最近从github上下载代码时,出现如下的错误信息:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
截图如下:
分析:出现这个问题的原因是在本地(或者服务器上)没有生成ssh key,因此需要部署SSH Keys,具体流程如下:
解决方案:
(1)
$ ssh-keygen
这一步途中会让你输入密码啥的,不需要管,一路回车即可,会生成你的ssh key。(如果重新生成的话会覆盖之前的ssh key。)当然也可以设置密码,别忘记就行。这一步截图如下:
(2)
$ ls ~/.ssh/
id_rsa id_rsa.pub known_hosts
经过第(1)步之后,第(2)步会列出3个文件,id_rsa文件保存私有key,而id_rsa.pub则保存的是公有key,known_hosts则记录每个你访问过计算机的公钥(public key)。
(3)
$ eval 'ssh-agent'
截图如下:
(4)
$ ssh-add ~/.ssh/<private_key_file>
$ ssh-add ~/.ssh/id_rsa
其中<private_key_file>改为自己的名称,截图如下:
(5)
$ cat ~/.ssh/id_rsa.pub
截图如下:
(6)登录自己的github账户(没有就先注册一个);
(7)点击右上角用户图标,选择settings,如下图:
(8)点击左侧的SSH and GPG keys,如下图:
(9)点击绿色图标New SSH Key,如下图:
(10)在Title输入Default public key,Key中输入前面第(5)步显示的内容,注意末尾的user@user不要复制,然后点击Add SSH key绿色图标即可;
(11)
$ ssh -T git@github.com
如果提示输入密码,就输入刚才第1步设置的密码即可,出现如下提示即部署成功:
(12)再输入如下指令就可以正常下载代码了:
$ git clone --recursive git@github.com:leggedrobotics/darknet_ros.git
参考网址
Permission denied(publickey). fatal: Could not read from remote repository