如何解决Git clone时遇到的PermissionDenied(publickey)问题

scanklm 2024-11-29 10:59:37编程技术
138

在使用Git进行版本控制时,我们经常需要从远程仓库克隆代码到本地。然而,在执行git clone命令时,有时会遇到PermissionDenied(publickey)错误,导致无法正常克隆代码。这个问题通常是由于SSH密钥配置不当引起的。本文将介绍如何解决这个问题,以便顺利克隆代码。

git clone解决Permission Denied(publickey)

本地git bash 使用git clone git@github.com:***.git方式下载github代码至本地时需要依赖ssh key,遇到权限不足问题时一般都是SSH key失效或者SSH key不存在,重新创建SSH key一般就可以解决问题;

步骤一、检查本地ssh key是否存在

1、windows下 开始 -- 搜索框输入 git bash,打开git bash窗口;

2、git base窗口中输入指令 ls ~/.ssh/ 来检查ssh key是否存在;

3、如果key不存在则按照步骤二重新生成,ssh key已存在则跳过步骤二,执行步骤三;

步骤二、生成ssh key

1、继续步骤一的git bash窗口执行指令:

ssh-keygen -t rsa -b 2048 -C "你自己的邮箱地址"

修改邮箱地址为你自己的邮箱地址,注意此处邮箱地址前后的双引号为英文格式双引号;

2、指令执行后页面提示:

如何解决Git clone时遇到的PermissionDenied(publickey)问题

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/***/.ssh/id_rsa):

***表示你自己的当前登录用户名,不做修改直接回车,会将生成的rsa文件保存为默认名称

再次回车提示:

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

提示设置提交/l拉取代码到Github时需要的密码及确认密码;

设置密码后再次回车提示Your identification has been saved in.... 即表示ssh key生成成功;

步骤三、添加sshkey至ssh-agent

1、执行eval “$(ssh-agent -s)”确认ssh-agent处于开启状态,打印pid... 表示启用中;

2、执行指令ssh-add ~/.ssh/id_rsa 添加ssh key至ssh agent,此步会要求输入步骤二设置的密码;

需要注意的是此处可能报错:

Could not open a connection to your authentication agent

我的解决办法是关掉当前git bash窗口,重新以管理员身份运行git bash 即解决问题;

步骤四、添加ssh key至guthub

1、登录https://github.com/,在页面右上角自己头像右边箭头处右击,弹框中进入setting功能;

如何解决Git clone时遇到的PermissionDenied(publickey)问题

2、setting界面右边菜单选择SSH and GPG keys,选择新建SSH keys,

如何解决Git clone时遇到的PermissionDenied(publickey)问题

如何解决Git clone时遇到的PermissionDenied(publickey)问题

保存即可;

步骤五:git clone下载代码

步骤结束,此时再尝试本地使用git clone方式下载代码即可;

总结

本文详细介绍了如何解决Git clone时遇到的PermissionDenied(publickey)问题。通过检查SSH密钥是否已添加到SSH代理、验证SSH公钥是否已正确添加到GitHub账户、以及尝试使用HTTPS URL克隆代码等方式,我们可以找到问题的根本原因并加以解决。希望本文的介绍能够对您有所帮助。

Git clone permissiondenied
THE END
蜜芽
故事不长,也不难讲,四字概括,毫无意义。

相关推荐

深入解析Git Checkout命令的使用方法
在这篇文章中,我们将深入解析git checkout命令的使用方法,从基本概念到高级用法,逐一介绍其各种应用场景和注意事项。无论你是Git的新手还是有一定经验的用户,都能从中受益...
2024-11-27 编程技术
166

Visual Studio 2022中无缝集成并使用GIT进行版本控制的图文教程
Visual Studio 2022作为微软推出的强大集成开发环境(IDE),为开发者提供了与Git无缝集成的功能,极大地简化了代码管理流程。本教程旨在通过详细的图文步骤,指导初学者和有经...
2024-09-13 编程技术
166

知名Web服务器软件 Nginx 迁移至 GitHub,推动开源发展迈向新台阶
近日,知名Web服务器软件 NGINX 宣布其官方开源开发存储库已从 Mercurial 迁移至 GitHub,今后,NGINX 将在 GitHub 上以接受拉取请求(Pull Requests)的形式开始接受贡献。同时...
2024-09-11 新闻资讯
150

Awesome-Digital-Human:基于Dify的开源AI数字人技术框架
Awesome-Digital-Human 是一个基于现代技术和AI服务的开源数字人技术框架,旨在帮助开发者快速搭建具备高度定制化和扩展性的数字人平台。该项目不仅适合初学者,也适合经验丰...
2024-08-27 编程技术
312

Visual Studio 2022 v17.11发布:提升GitHub Copilot的智能化和安全性
微软公司13日宣布Visual Studio 2022的最新版本——v17.11正式全面上市(General Availability, GA),新版本中GitHub Copilot变得更加智能和安全。根据开发者的反馈,Copilo...
2024-08-15 新闻资讯
160

GitHub 出现短暂大规模宕机:现已全面恢复正常运营
全球最大的代码托管平台GitHub在经历一次短暂的服务中断(宕机)后,已全面恢复其服务。此次服务中断发生在2024年8月14日,UTC时间23:02至23:38之间,期间所有GitHub服务对所有...
2024-08-15 新闻资讯
153