Composer安装时提示 "git@github.com: Permission denied (publickey)" 怎么办

尼克
发布: 2025-11-29 17:49:57
原创
480人浏览过
答案:该错误因SSH密钥未配置或无效导致,需生成密钥并添加公钥到GitHub。1. 检查或生成SSH密钥;2. 将公钥添加至GitHub账户;3. 运行ssh -T测试连接;4. 可选使用HTTPS协议;5. 确保SSH agent运行且权限正确。

composer安装时提示 \

出现 "git@github.com: Permission denied (publickey)" 错误,是因为 Composer 尝试通过 SSH 协议从 GitHub 拉取代码时,系统无法找到有效的 SSH 私钥或未正确配置密钥认证。以下是解决方法:

1. 检查是否已生成 SSH 密钥

打开终端(Linux/macOS)或 Git Bash(Windows),运行以下命令查看是否存在 SSH 密钥:

ls -al ~/.ssh/

如果看到 id_rsaid_rsa.pub(或 id_ed25519 等),说明已有密钥。如果没有,执行以下命令生成:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

按提示保存密钥(默认路径即可),可设置密码(可选)。

2. 将 SSH 公钥添加到 GitHub 账户

将公钥内容复制到剪贴板:

cat ~/.ssh/id_rsa.pub

全选输出内容并复制。然后登录 GitHub,进入:
  • Settings → SSH and GPG keys → New SSH key
  • 标题自定义(如 "My Laptop")
  • 粘贴公钥内容
  • 点击 "Add SSH key"

3. 测试 SSH 连接

在终端运行:

ssh -T git@github.com

AI Room Planner
AI Room Planner

AI 室内设计工具,免费为您的房间提供上百种设计方案

AI Room Planner 136
查看详情 AI Room Planner
如果看到类似 Hi username! You've successfully authenticated...,说明配置成功。

4. 使用 HTTPS 替代 SSH(可选临时方案)

如果你不想处理 SSH,可以让 Composer 使用 HTTPS 协议拉取包:

composer config -g github-protocols https

或在项目 composer.json 中设置:

"config": { "github-protocols": ["https"] }

这样会跳过 SSH 验证,但可能稍慢或需要输入 GitHub Token(若私有库)。

5. 确保 SSH agent 正在运行(Windows 常见问题)

在 Git Bash 中启动 agent 并添加密钥:

eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa

确保私钥权限正确(避免权限太开放):

chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

基本上就这些。配置完成后,重新运行 Composer 安装命令即可正常拉取依赖。

以上就是Composer安装时提示 "git@github.com: Permission denied (publickey)" 怎么办的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号