window界面下,github每次git push会出现permission denied (publickey)的解决

作为一个编程小白,软件小白。这几天在写毕业论文。打算把写的东西记录在gihub上,但是今年莫名的发现每次从当地向远端push的时候总是报错permission denied (publickey);结果花费了一个下午才解决。这也促使我写下自己痛苦的经历,以期能够帮助后来的和我一样小白的。

首先也是各种百度,然后知道原因:就是有https模式转到ssh模式时候这种问题就会出来了。网上大多数人也是出现这种问题。因为https模式下每次git push都要输入账号和密码是在是麻烦。

解决的方法是:因为我已经有了公钥,没有的话看git教程会有如何生成公钥的方法的。我的问题是:改自己的公钥(public key),我不知道为什么会出现公钥不对的问题。

查看是否已经有了

ssh

密钥:

cd ~/.ssh 

如果没有密钥则不会有此文件夹,有则备份删除

 

生成密钥:

 

ssh-keygen -t rsa -C 

xxxxx@gmail.com

1:查看是否已经有了ssh密钥:cd ~/.ssh  如果没有密钥则不会有此文件夹,有则备份删除(这个必须把这文件完全删掉)

备注:作为一个沉痛的教训就是我一直没有删掉这个文件,每次都是这么overwrite的生成key,结果每次都是白忙活 

2:生成密钥:  ssh-keygen -t rsa -C “xxxxx@gmail.com”    ""里的是自己的邮箱,三次回车,密码为空

3:最后得到了两个文件:id_rsa和id_rsa.pub   添加密钥到ssh:进入你的github,需要之前输入密码.    在github上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。  

4: 打开https://github.com/ 

最后得到了两个文件:

id_rsa

id_rsa.pub 

 

 

添加密钥到

ssh

:进入你的

github,

需要之前输入密码

 

 

github

上添加

ssh

密钥,这要添加的是“

id_rsa.pub

”里面的公钥。

 

 

 

打开

https://github.com/ 

在设置中添加密钥

 

id_rsa.pub

用记事本打开之后复制里面的到网站上就可以了。

在设置中添加密钥  把id_rsa.pub用记事本打开之后复制里面的到网站上就可以了。需要注意的是以前的ssh密钥要删除

5:之后在terminal输入:ssh git@github.com,这里需要注意的是,输入的就是这一句话,后面的不是自己的邮箱,最需要注意的是,如果是从一些别的地方copy的话,注意ssh后面只有一个空格,多一个都会出错的


6:

中间的是否确定继续连接,输入yes就ok

7:然后再次git push就可以了。

其实中间的所有过程在网上差不多都能download到,但是我还是费了好几个小时,主要就是一些小的细节上出错。写下来也算是希望后来人不要和我一样在这方面出错。

不过还是不懂为啥https到ssh的转换就会导致git push出错,然后非要这么麻烦的重新设置一下ssh密钥才能解决。不知道是不知自己知识欠缺,其实是用了一个麻烦的方法。不管怎样,至少现在是能够push了。

另:有时候远端有修改的话,是需要先pull一下,然后才能git push -u origin master的。当然这个origin完全可以是你设置的任何名字

祝好啦!



莫名的昨天又不能git push了,然后如此的反复折腾半天后也没有什么结果。然后生成ssh key时,使用

ssh-keygen -t rsa 后面不加邮箱,再把得到的id_rsa.pub加入到github的ssh里就好了。
不过还是没搞懂为啥莫名的我的ssh key就不能使用了,还有就是之前为啥window下的git shell我生成ssh key时可以加邮箱。
以后有时间再认真想这个问题吧


                                                                                                        -----------------------------一个小白的不能小白的小白

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值