git@gitee.com: Permission denied (publickey).

当使用Git推送代码时遇到权限被拒绝的问题,可以通过在用户主目录的.ssh文件夹下创建config文件来解决。配置文件内容包括Host、HostkeyAlgorithms和PubkeyAcceptedAlgorithms,指定为ssh-rsa算法。这样做确保了正确的访问权限并使仓库存在。

使用git,push报错如下:

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.

解决办法:

在C:\Users\***\.ssh里创建config文件(没有后缀,文件名就叫config),打开该文件,输入以下内容:

Host gitee.com 
HostkeyAlgorithms +ssh-rsa 
PubkeyAcceptedAlgorithms +ssh-rsa

参考链接

```markdown ### 问题分析 错误信息: ``` git@gitee.com: Permission denied (publickey) ``` 表明 SSH 无法通过公钥认证连接 Gitee。这是由于本地 SSH 密钥未正确生成、未添加到 Gitee 账户,或 SSH Agent 未加载密钥所致。 --- ### 解决方案 #### ✅ 1. **检查是否存在 SSH 密钥** 运行命令查看是否已有 RSA 密钥: ```bash ls ~/.ssh/id_rsa.pub ``` 若提示“No such file”,说明尚未生成密钥。 #### ✅ 2. **生成新的 SSH 密钥** 执行以下命令并按提示完成(邮箱替换为你的 Gitee 注册邮箱): ```bash ssh-keygen -t rsa -C "your_email@example.com" ``` - 默认保存路径:`~/.ssh/id_rsa` - 可设置密码保护(可选) #### ✅ 3. **复制公钥内容** 输出公钥内容: ```bash cat ~/.ssh/id_rsa.pub ``` 复制从 `ssh-rsa` 开始直到邮箱的整段内容。 #### ✅ 4. **添加公钥到 Gitee** 1. 登录 [Gitee 官网](https://gitee.com) 2. 进入「用户设置」→「SSH 公钥」 3. 标题自定义(如 `my-linux-pc`) 4. 粘贴刚才复制的公钥内容 5. 点击「确定」 #### ✅ 5. **启动 SSH Agent 并添加私钥** 确保 SSH Agent 正在运行并加载密钥: ```bash eval $(ssh-agent -s) ssh-add ~/.ssh/id_rsa ``` #### ✅ 6. **测试连接** 运行测试命令: ```bash ssh -T git@gitee.com ``` 成功时会返回: ``` Hi <username>! You've successfully authenticated, but Gitee.com does not provide shell access. ``` --- ### **知识点(列出该代码中遇到的知识点)** - **SSH 公钥认证**:通过非对称加密验证身份,客户端保留私钥,服务端存储公钥以实现免密登录。 - **SSH Agent 作用**:管理私钥的临时驻留程序,避免重复输入密码,需手动添加密钥。 - **Git over SSH 协议**:使用 `git@host:path/repo.git` 格式地址,依赖 SSH 密钥完成安全通信。 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值