An unknown git error occurred npm ERR! command git --no-replace-objects ls-remote ssh://[email protected]/core-js/shim.git npm ERR! [email protected]: Permission denied (publickey). npm ERR! fatal: Could not read from remote repository. npm ERR! npm ERR! Please make sure you have the correct access rights npm ERR! and the repository exists.
时间: 2025-05-22 21:45:51 AIGC 浏览: 69
### 解决方案
在处理 `npm` 和 `git` 克隆仓库时遇到的权限问题,通常涉及 SSH 密钥配置错误或 GitHub 权限不足的情况。以下是针对此问题的具体分析和解决方案。
#### 1. 检查本地 SSH 配置
如果收到 `permission denied (publickey)` 错误,则表明当前系统的 SSH 密钥未正确配置或未添加到 GitHub 账户中。可以通过以下命令验证是否存在有效的 SSH 密钥:
```bash
ls ~/.ssh/
```
如果没有发现任何名为 `id_rsa` 或 `id_ecdsa` 的文件,则需要生成新的密钥对并将其添加到 GitHub 中[^3]。
#### 2. 创建新的 SSH 密钥
运行以下命令创建一个新的 SSH 密钥,并指定电子邮件地址关联至该密钥:
```bash
ssh-keygen -t rsa -b 4096 -C "[email protected]"
```
完成之后,复制生成的公钥内容:
```bash
cat ~/.ssh/id_rsa.pub
```
将输出的内容粘贴到 GitHub 帐号的安全设置下的 **SSH Keys** 页面中[^4]。
#### 3. 测试连接GitHub
为了确认新配置是否生效,可以尝试通过 SSH 连接到 GitHub 并观察返回的结果:
```bash
ssh -T [email protected]
```
成功的话会显示一条消息提示已登录账户名;如果有其他反馈则需重新核查前面步骤中的操作是否有遗漏之处[^5]。
#### 4. 修改Git远程URL为SSH形式
有时默认使用的 HTTPS 地址也可能引发认证失败的问题,建议改为基于 SSH 协议的形式来访问资源库。对于目标项目 core-js/shim ,执行如下指令更改其 URL 设置:
```bash
git remote set-url origin [email protected]:zloirock/core-js.git
```
这样便能利用之前设定好的 SSH 认证机制来进行拉取推送等动作而无需输入用户名密码[^6]。
---
### 总结
以上方法涵盖了从基础排查到具体实施的一系列措施用于应对因缺少适当授权而导致无法正常获取开源项目的状况。按照指引逐一调整应该能够有效缓解乃至彻底消除此类困扰。
阅读全文
相关推荐




















