git clone 出错:Permission denied (publickey).

网上找了好久的解决方案,全都试了一遍,结果还是不行=。=

今天又想弄一下了,毕竟老是用笔记本也不太方便。。。终于找到了一个有效的解决方案,已经成功了。

 

git clone ssh://xxx
正克隆到 'xxx'...
Warning: Permanently added '[git.xxx.cn]:29418,[xx.xx.xx.xx]:29418' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
 

刚开始找到一个解决方案,执行如下:

git remote remove origin

error: 不能移除配置小节 'remote.origin'    //莫名的错误。。。

ssh-add -D

All identities removed.

rm -r ~/.ssh

ssh-keygen -t rsa -C "xxx@example.com"

重新添加 cat ~/.ssh/id_rsa.pub 以后

再次执行git clone,仍然报错:

git clone ssh://xxx@git.example.cn:29418/xxx
正克隆到 'xxx'...
The authenticity of host '[git.xxx.cn]:29418 ([xx.xx.xx.xx]:2941

### 解决 Git 克隆时因公钥权限被拒绝的问题 当遇到 `git clone` 提示 `Permission denied (publickey)` 的错误时,通常是因为本地未正确配置 SSH 密钥或远程服务器无法验证该密钥。以下是详细的解决方案: #### 1. 检查是否存在现有的 SSH 密钥 运行以下命令来查看 `.ssh/` 文件夹中是否已存在名为 `id_rsa.pub` 的公钥文件: ```bash cat ~/.ssh/id_rsa.pub ``` 如果返回的是类似这样的路径不存在错误消息,则说明尚未生成 SSH 密钥[^3]: ``` bash: /c/Users/cetc03.hik/.ssh/id_rsa.pub: No such file or directory ``` #### 2. 如果没有现有密钥则生成新的 SSH 密钥 如果没有找到现成的 SSH 密钥,可以通过以下命令创建一个新的 SSH 密钥对(默认情况下会保存在 `~/.ssh/id_rsa` 和 `~/.ssh/id_rsa.pub` 中): ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 此命令将提示输入存储位置以及密码短语(passphrase)。建议保留默认设置并跳过 passphrase 设置以便简化操作。 完成之后,在 `~/.ssh/` 下应该能看到两个新文件:私钥 (`id_rsa`) 和对应的公钥 (`id_rsa.pub`)。 #### 3. 将公钥添加至目标服务提供商账户 - **对于 GitHub/GitLab 等平台** 打开浏览器登录您的账号页面,导航到 “Settings -> SSH and GPG keys”,点击按钮上传新的 SSH Key 并粘贴刚才生成的 `id_rsa.pub` 内容进去[^3]。 - **针对 Gerrit 用户** 前往个人资料中的 User Settings 页面下的 SSH Keys 部分,同样地复制上述提到过的 id_rsa.pub 文本框内容填入 New SSH key 字段内再按 ADD NEW SSH KEY 完成绑定过程[^2]. #### 4. 启动 SSH Agent 及加载身份认证信息 有时即使完成了前面几步仍可能遭遇连接失败的情况,此时需手动启动 ssh-agent 来管理 session 生命周期内的临时缓存数据,并通过下面指令加入相应证书材料: ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` 这一步骤尤其适用于 Linux 或 macOS 系统环境当中[^4]。 #### 5. 测试连通性 最后尝试重新发起仓库克隆请求前先做一次简单的 ping 请求确认网络可达性和信任关系建立成功与否: ```bash ssh -T git@github.com ``` 如果是首次访问某站点可能会弹窗询问关于主机真实性校验事宜,请按照屏幕指示回应即可继续下一步动作[^5]。 --- 以上方法基本涵盖了大部分场景下解决此类问题所需采取的技术手段集合;当然具体情况还需具体分析处理哦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值