【异常】在Windows的CMD终端,远程连接Github、Gitee、Gitlab提示报错Permission denied (publickey)

本文详细介绍了在Windows上遇到使用Git通过SSH连接GitHub、Gitee、Gitlab时出现"Permission denied (publickey)"错误的原因及解决步骤,包括生成SSH key、添加公钥到各服务器,以及SSH免密登录和会话连接过程的详解。

一、报错问题

在Windows的CMD终端,使用git clone XXXX来连接到远程服务器时,出现Permission denied (publickey).提示
在这里插入图片描述

二、报错原因

本地访问远程主机的公钥没有添加或者被取消(无法认证)
本地生成的一对秘钥,私钥id_rsa和公钥id_rsa.pub。
公钥id_rsa.pub应该保存在远程服务器端中
报错的主要原因是没有将自己的电脑的SSH key添加到对应的git服务器上。

三、报错解决

3.1 、 生成SSH key

这一步骤我是有的,直接跳过。

 ssh-keygen -t rsa -C “xxxxx@xxxxx.com” 

注意:输入的是自己的邮箱地址

3.2、 找到生成Key值的目录,前往.ss

解决 `git fetch` 报错 `Permission denied (publickey)` 的问题,通常涉及以下几个方面: 1. **检查SSH密钥是否正确配置** 确保你已经生成了SSH密钥,并将其添加到Git服务器(如GitHubGitLab等)的账户中。使用以下命令生成SSH密钥: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 默认情况下,生成的密钥文件会保存在 `~/.ssh/id_rsa` 和 `~/.ssh/id_rsa.pub` 中[^4]。 2. **确认SSH密钥路径** 如果你没有使用默认的SSH密钥路径,或者需要使用特定的密钥文件(例如在多账户或多服务器环境下),可以在 `.ssh/config` 文件中指定使用的密钥。例如: ```bash Host abc.cn IdentityFile ~/.ssh/your_private_key ``` 3. **确保SSH代理运行并添加密钥** 在Linux或macOS系统上,可以使用以下命令启动SSH代理并将密钥添加进去: ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` 在Windows系统上,如果使用Git Bash,也可以通过类似命令操作,或者使用GUI工具管理SSH密钥。 4. **验证SSH连接** 可以通过以下命令测试与Git服务器的SSH连接: ```bash ssh -T git@abc.cn ``` 如果一切正常,你应该看到欢迎信息;如果有错误,则需要进一步排查SSH配置或网络问题[^1]。 5. **检查远程仓库URL是否正确** 使用 `git remote -v` 查看当前远程仓库的URL,确保它是基于SSH格式的,例如: ```bash git@abc.cn:username/repo.git ``` 如果是HTTPS格式,请改为SSH格式: ```bash git remote set-url origin git@abc.cn:username/repo.git ``` 6. **处理多用户环境下的权限问题** 如果你在多用户环境下使用Git(例如用root用户执行某些操作),可能会遇到权限问题。可以通过修改Git的全局配置,将SSH密钥路径指向公共目录: ```bash git config --global core.sshCommand "ssh -i /path/to/public/key" ``` 7. **更新SSH已知主机列表** 有时旧的SSH主机密钥可能导致连接失败。可以手动删除 `~/.ssh/known_hosts` 文件中的相关条目,或者直接删除整个文件(慎用): ```bash rm ~/.ssh/known_hosts ``` 8. **在Windows系统中配置SSH密钥路径** 如果你使用的是Windows系统,并且Git无法找到你的SSH密钥,可以尝试将公钥和私钥文件放在默认路径下(如 `C:\Users\YourUser\.ssh\`),并确保文件名为 `id_rsa` 和 `id_rsa.pub`[^4]。 9. **Visual Studio 集成问题** 如果你在使用 Visual Studio(如 VS2022)时遇到该问题,确保VS使用的Git配置与命令行一致。可以在VS中设置SSH密钥路径,或切换为使用HTTPS方式访问仓库(虽然不推荐长期使用)[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

本本本添哥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值