前言
上一篇文章写了如何注册github和怎样提交远仓,由于之前我本机有github环境,当然也绑了ssh,然后新注册的github生成的ssh密钥没有重命名导致新的ssh把旧的覆盖掉了,在我去提交代码的时候发现出了错,下面看看该怎么解决这个问题。
错误原因
我在执行命令
hexo d
上传博客到远仓的时候报如下错误:
1 Permission denied (publickey). fatal: Could not read from remote respository
大意是拒绝承认(公钥),无法从远程存储库读取。如下图:
由此可以看出大概是公钥出了问题,这时候我才意识到,之前新注册的github的ssh把我初始的github环境覆盖掉了,所以才读取不到。
出现了这个问题该怎样解决呢,我的思路就是在原来的环境重新生成一个ssh,并添加到SSH配置里面,把现在的覆盖掉。
解决办法
生成ssh密钥并配置到GitHub
打开Git终端窗口,键入命令
ssh-keygen -t rsa -C 你的邮箱
回车,首先会问你要在呢个文件存放这个ssh key,直接默认回车,然后输入密码,也可以不输密码直接回车,上篇文章有生成ssh和添加到配置的具体步骤 点我跳转查看验证ssh key
键入命令
ssh -T git@github.com
如果出现下面提示则表示你的ssh key 已经配置好了1
Hi wispyoureyes! You've successfully authenticated, but GitHub does not provide shell access.
全局配置用户信息
依次键入命令
1
2git config --global user.name "用户名"
git config --global user.email "注册用的邮箱"在本地初始化git仓库
键入命令
git init
在尝试提交应该就可以了
然而我这里还是提交不上博文,我又去新注册的github把上边的ssh删掉,回来又试了试,我这里是hexo提交博客依次执行以下命令
1
2
3hexo clean
hexo g
hexo d
最后发现提交成功了,开心
总结
经过这次折腾,验证了github上的ssh配置后最好不要改动,删除的话更要谨慎,如果出现如上错误,需要重新生成ssh key重做配置,才能连接远仓进行操作。