在公钥正确添加之后,出现类似错误。
Error: git@github.com: Permission denied (publickey).
fatal: 无法读取远程仓库。
请确认您有正确的访问权限并且仓库存在。
困扰了很久,因为公钥都是正确的,而到了deploy d
的一步就是显示Permision Denied,只能使用https而不是ssh。
在查询了若干年之后,一个博客下的解决方法对我很有启发 https://rs11.xyz/articles/2.html ,在此附上链接,以示尊敬。
问题发现
在按照网上教程安装的时候, 单纯的类似hexo clean
这种命令对我的电脑没有效果,需要加上sudo
,而在运行到hexo d
这一步时,sudo命令会从/root/.ssh
中去寻找,而root里面显然没有这个文件夹,所以自然显示Permission Denied。
解决方法1
与上述博客不同,由于我的电脑无论咋样都要加sudo,所以删除deploy_git
并不能解决问题。
但在了解原理之后,往往能够自己想出解决方法,既然/root/
里没有这个文件夹,那么就自己添加一个。即把主目录下的/.ssh
文件夹复制过去。
sudo -s
cp -r ./.ssh /root/
这样就解决问题了。
解决方法2
没有尝试,但应该可行。这样以后就不用啥都sudo
了。
sudo chmod -R 777 myblog