专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

git ssh window 请求公钥失败

问题

在码云上建了个练习项目,当在本地克隆项目的时候,悲剧出现了,码云服务器拒绝链接。

$ git clone git@gitee.com:hanchers/test.git
Cloning into 'test'...
git@gitee.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

问题排查

1、确认在码云上配置了公钥

1.1 首先本地生成密钥

ssh-keygen -t rsa -C "yourName@mail.com" 

1.2 将公钥配置在你的码云账号中

在c盘你的用户的文件夹下有一个.ssh目录,将里面生成的id_rsa.pub 用文本编辑器打开,全选复制。
117_1.png 然后在码云账号的公钥的位置,将上面的内容粘贴进去即可。 117_2.png

此时,按照正常情况就可以了。但是实际却没这么简单。

测试链接

配置好公钥好,在本地测试一下,看看是不是能够连接上码云了呢

$ ssh -T git@gitee.com
git@gitee.com: Permission denied (publickey).

如果要查看连接过程,执行如下命令

ssh -vT git@gitee.com

发现还是不行,为什么呢?
因为ssh链接gitee的过程中,在本地没有找到对应的私钥,导致匹配失败。
经过各种百度,终于找到了一个勉强可行的解决办法

ssh-agent bash --login -i

eval `ssh-agent -s`

开发ssh-agent的守护进程,然后将前面生成的私钥添加到

ssh-add ~/.ssh/id_rsa

可以通过如下命令查看是否添加成功

ssh-add -l

最后,再测试一下连接

$ ssh -T git@gitee.com
Hi hancher! You've successfully authenticated, but Gitee.com does not provide shell access.

连接成功!

克隆代码

ssh已经能够连接gitee了,下一步就是克隆代码了。

$ git clone git@gitee.com:hanchers/test.git
Cloning into 'test'...
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (4/4), 4.47 KiB | 4.47 MiB/s, done.

后患

前面貌似一切都很正常,问题得以解决。
但是当git命令窗口关闭后,在重新打开,就会发现,一切重归原始!!!
究其原因,还是每次ssh连接的时候,都服务找到本地的私钥,导致解析失败。

彻底解决

找到git安装目录
然后 %git-home%/etc/ssh/目录,打开文件ssh_config

IdentityFile ~/.ssh/id_rsa

可规避这个问题。
但是windows下生成的私钥不能识别的问题仍未彻底解决,尚需大神解惑。

文章永久链接:https://tech.souyunku.com/25066

未经允许不得转载:搜云库技术团队 » git ssh window 请求公钥失败

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们