本文针对的是Windows生成SSH key,服务器端可以做参考。
当git clone报“Permission denied (publickey). fatal: Could not read from remote repository.”
前置:需要下载git
场景:被拉到特定的git项目下需要本地配置ssh才能拉去代码,比如在公司。
- 打开对应的目录,右键点击“Git Bash Here”,进入命令行 。
- 如果你没有ssh key的话,在ternimal下输入命令:
ssh-keygen -t rsa -C “你的邮箱”
输入后一路回车即可,啥都不需要填,即会生成你的ssh key。(若重新生成的话会覆盖之前的ssh key。)
- 执行命令:
ssh -v [email protected]
比如GitHub,当然也可以是其他的git仓库,把“@”后面的对应上即可。
最后大致会出现Permission denied (publickey).这句话。
- 再执行命令
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
- 再输入命令:
ssh-add ~/.ssh/id_rsa
正确来说会提示:Identity 。。。 (对应的路径信息)
如果报错,尝试输入命令,看能否解决:
eval ssh-agent -s
6、按上面的路径信息,把id_rsa.pub全部复制粘贴,在git仓库,个人设置的SSH key部分,输入这个复制内容,标题自定义,最后Add SSH Key完成。
版权归原作者 一路向东_ 所有, 如有侵权,请联系我们删除。