gitee ssh重新上传密钥遇到的坑permission denied以及Could not open a connection to your authentic(已解决)(windows)

一 删除ssh-agent密钥,加深ssh的理解,方便以后处理bug

我先复现一下BUG,也可以加深对ssh的理解

  • 在C:\Users\Admin\.ssh文件夹下打开git bash(建议全程使用这个终端不用windows终端管理员)
  • 然后查看ssh代理中所有已经添加的密钥    ssh-add -l

 发现会报错Could not open a connection to your authentic,这是因为没有打开ssh-agent

  • eval `ssh-agent -s`    打开ssh-agent

  •  ssh-add -l
  •  ssh-add -L

列出agent中的密钥,现在我准备删除所有agent中的密钥和密钥文件 ,如果提示没有identities说明以前没添加成功

 

  •  ssh-add -D

删除成功

删除文件

删除之后再clone gitee服务器发现失败,进入下一步

二 重新上传ssh公钥,复现BUG

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

我这里有个很奇怪的BUG,默认的密钥地址不是C:\Users\Admin\.ssh,

如果你们也不是,要修改到这里: 

一路回车生成了密钥:

直接用记事本打开这个.pub把所有内容复制到gitee对应区域,标题自动生成后面的邮箱

这里做好了准备工作,请按下图输入命令。 

三.几乎列举了ssh clone gitee的所有BUG,终端运行下图这些指令(这里是这篇文章的关键部分,解释了sshBUG):

指令解释: 

  • 在终端访问gitee,出现了denied,说明还未将密钥添加到自己的ssh-agent中,因为到目前只是生成了密钥文件。
  • 添加密钥文件发现失败,是因为ssh-agent还未启动
  • 启动agent
  • 然后访问gitee,发现确实一定要将密钥添加到agent
  • 这时再添加到agent出现identity added
  • 再访问gitee,发现成功,尝试clone仓库,发现成功

 

上面是两个好理解的BUG,下面才是大BUG

然后访问gitee,出现了访问成功,我上面说过我有个奇怪的BUG,ssh默认生成的密钥文件不是在C:\Users\Admin\.ssh,如果你们也不是然后按照网上的一路回车生成密钥,就会导致混乱,我以前不知道生成的密钥要丢到agent里面,然后我把密钥文件删除后,发现自己的git还能和gitee通信,感觉非常奇怪,想要弄懂ssh和gitee,就把之前建立好的删除重构,发现原来gitee是和agent里面的通信,弄好后将密钥文件删除也能git。

总结:主要是ssh有个agent,一定保证这个agent里面的密钥能和gitee对应

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值