解决GIT问题:git@gitee.com: Permission denied (publickey).fatal: Could not read from remote repository.

本文详细介绍了如何在GitHub和Gitee上配置SSH公钥,包括生成SSH密钥对、添加到账户设置、以及验证配置成功的步骤,以实现本地仓库与代码托管平台的无缝连接和数据加密传输。

下图是详细的报错信息:

对于这个问题,我们得针对不同的情况来分析,逐步解决这个问题

情况一:github上面没有配置SSH公钥

如果您是刚开始使用git,并且没有生成公钥,我们需要先使用命令来生成公钥

为了更加易懂,给大家额外补充一些SSH的知识

SSH key 的作用:

实现本地仓库和 Github 之间免登录的加密数据传输

SSH key 的好处:

免登录身份认证、数据加密传输。

SSH key 由两部分组成:

① id rsa——(私钥文件,存放于客户端的电脑中即可)

② id rsa.pub——(公钥文件,需要配置到 Github 中)

生成 SSH key

① 打开 Git Bash
② 粘贴如下的命令,并将 your_email@example.com 替换为注册 Github 账号时填写的邮箱:

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

③连续敲击3次回车,即可在C:\Users\用户名文件夹\.ssh 目录中生成id rsaid rsa.pub 两个文件

配置 SSH key

① 使用记事本打开 id_rsa.pub 文件,全选复制里面的文本内容

②在浏览器中登录 Github,点击头像 ->Settings ->SSH and GPG Keys ->New SSH key

③ 将 id_rsa.pub 文件中的内容,粘贴到 Key 对应的文本框中

④ 在 Title 文本框中任意填写一个名称,来标识这个 Key 从何而来

以下是设置github的SSH的详细地址:

https://github.com/settings/keysicon-default.png?t=O83Ahttps://github.com/settings/keys

情况二:gitee上面没有配置SSH公钥

在浏览器中登录 Gitee,点击头像 ->设置->SSH公钥:

把我们刚刚生成好的SSH公钥复制粘贴到公钥文本框中,最后点确定,就完成啦!

以下是Gitee设置SSH的详细地址:

https://gitee.com/profile/sshkeysicon-default.png?t=O83Ahttps://gitee.com/profile/sshkeys

最后检测SSH key 是否配置成功

        打开 Git Bash,输入如下的命令并回车执行:

ssh -T git@github.com

        上述的命令执行成功后,可能会看到如下的提示消息:

The authenticity of host 'github.com (IP ADDRESS)' can't be established
RSA key fingerprint is SHA256:nThbg6kXUpJWG17E1IGOCSpROmTXxdCARLVKW6E5SY8.
Are you sure you want to continue connecting(yes/no)?

        输入 yes 之后,如果能看到类似于下面的提示消息,证明 SSH key 已经配置成功了

Hi username! You've successfully authenticated, but GitHub does not
provide shell access.

        之后我们对项目的代码再次提交和推送,就不会报错啦

好了,今天分享到这里结束了

至此希望能够给你带来帮助(#^.^#)

### 解决 VSCode 连接 Gitee 时出现 `Permission denied (publickey)` 错误 当遇到此错误时,通常是因为本地计算机未能通过 SSH 密钥验证。以下是详细的解决方案: #### 验证并配置 SSH 密钥 如果尚未创建 SSH 密钥,则需先生成一对新的密钥对。 ```bash ssh-keygen -t rsa -C "your_email@example.com" ``` 上述命令会提示指定保存位置,默认情况下可以直接按回车键接受默认路径[^4]。 #### 添加 SSH 私钥至 SSH Agent 为了使私钥能够被 Git 使用,需要将其添加到 SSH agent 中。 ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` 这一步骤确保了每次启动终端时不需重新输入密码即可访问远程仓库[^5]。 #### 将 Public Key 添加到 Gitee 账户 前往 [Gitee 的 SSH Keys 设置页面](https://gitee.com/profile/sshkeys),点击“新增 SSH Key”,并将 `.ssh` 文件夹下的 `id_rsa.pub` 文件内容复制粘贴进去。 #### 清除全局的 User.Name 和 Email 配置(可选) 有时旧有的全局设置可能会干扰当前操作,可以考虑移除这些配置项来排除潜在冲突。 ```bash git config --global --unset user.name git config --global --unset user.email ``` 之后可以在项目目录下单独设定用户名和邮箱地址,以匹配特定项目的需要[^3]。 完成以上步骤后再次尝试克隆或推送代码应该不会再收到权限拒绝的消息。若仍然存在问题,请确认所提供的电子邮件与 Gitee 上注册的信息一致,并检查网络连接状况。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平静方能至远

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值