本文针对的是Windows生成SSH key,服务器端可以做参考。

当git clone报“Permission denied (publickey). fatal: Could not read from remote repository.”

前置:需要下载git

场景:被拉到特定的git项目下需要本地配置ssh才能拉去代码,比如在公司。


1. 打开对应的目录,右键点击“Git Bash Here”,进入命令行 。

2. 如果你没有ssh key的话,在ternimal下输入命令:

ssh-keygen -t rsa -C “你的邮箱”

输入后一路回车即可,啥都不需要填,即会生成你的ssh key。(若重新生成的话会覆盖之前的ssh key。)

3. 执行命令:

ssh -v git@github.com

比如GitHub,当然也可以是其他的git仓库,把“@”后面的对应上即可。

最后大致会出现Permission denied (publickey).这句话。

4. 再执行命令

ssh-agent -s

会跳出SSH_AUTH_SOCK、SSH_AGENT_PID、echo Agent pid的信息才是执行成功。

这里可能遇到BUG:

Starting ssh-agent on Windows 10 fails: "unable to start ssh-agent service,error:1058"

解决:打开Windows PowerShell(Windows搜索栏或直接搜索本身带着的)

输入命令:

Get-Service ssh-agent

大概会出现这样的信息:

Status   Name               DisplayName
------   ----               -----------
Stopped  ssh-agent          OpenSSH Authentication Agen

再输入命令:

Get-Service ssh-agent | Select StartType

大概会出现这样的信息:

StartType
---------
Disabled

最后输入命令解决(只要您运行 ssh-agent,它就会启动该服务):

Get-Service -Name ssh-agent | Set-Service -StartupType Manual

5. 再输入命令:

ssh-add ~/.ssh/id_rsa

正确来说会提示:Identity 。。。 (对应的路径信息)

如果报错,尝试输入命令,看能否解决:

eval ssh-agent -s

6、按上面的路径信息,把id_rsa.pub全部复制粘贴,在git仓库,个人设置的SSH key部分,输入这个复制内容,标题自定义,最后Add SSH Key完成。

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐