Node.js安装BitGo依赖时出现Git公钥权限拒绝错误
Node.js安装BitGo依赖时出现Git公钥权限拒绝错误
看起来你遇到的是npm安装BitGo依赖时,拉取私有Git仓库的SSH权限验证问题,我来帮你一步步解决:
问题原因
这个错误是因为BitGo的blake2b依赖仓库是私有仓库,npm默认尝试用SSH协议(ssh://git@github.com/BitGo/blake2b.git)拉取代码,但你的本地Git没有配置能访问GitHub的SSH公钥,所以被服务器拒绝了权限。
解决方案
这里有两个最常用的解决思路,选一个适合你的就行:
方法1:切换到HTTPS协议拉取(无需配置SSH公钥)
这个方法最简单,让Git自动把所有GitHub的SSH请求转换成HTTPS协议,用GitHub账号/个人访问令牌验证:
- 先执行全局Git配置命令:
git config --global url."https://github.com/".insteadOf ssh://git@github.com/ - 配置完成后,重新运行安装命令:
npm install bitgo - 注意:如果你的GitHub账号开启了双因素认证(2FA),输入密码时要填GitHub的个人访问令牌(PAT),而不是登录密码。生成PAT时记得勾选
repo权限,这样才能拉取私有仓库。
方法2:配置SSH公钥到GitHub账号(坚持用SSH协议)
如果你习惯用SSH协议,可以生成并配置SSH公钥:
- 生成新的SSH密钥(如果本地没有的话),替换成你的GitHub邮箱:
执行时一路按回车,用默认路径和空密码就行。ssh-keygen -t ed25519 -C "your-github-email@example.com" - 查看并复制公钥内容:
(如果是旧的RSA密钥,路径是cat ~/.ssh/id_ed25519.pub~/.ssh/id_rsa.pub) - 登录GitHub账号,进入「Settings」→「SSH and GPG keys」,点击「New SSH key」,把复制的公钥内容粘贴进去,随便填个标题保存。
- 测试SSH连接是否成功:
如果看到ssh -T git@github.comHi [你的GitHub用户名]! You've successfully authenticated, but GitHub does not provide shell access.就说明配置好了,之后再重新运行npm install bitgo即可。
额外提示
如果还是有问题,可以查看npm的错误日志文件(就是你提到的/home/mofebanks/.npm/_logs/2025-11-13T10_36_14_369Z-debug-0.l),里面会有更细节的错误信息,但大概率还是权限验证的问题,上面两个方法应该能解决。




