VS Code推送至BlueHost Git仓库遇Permission denied问题求助
解决VS Code推送BlueHost Git仓库无密码提示且权限拒绝的问题
我遇到过类似跨工具Git认证不一致的场景,结合BlueHost的Git配置特点,给你几个针对性的排查和解决方向:
1. 先确认本地仓库的远程URL类型
首先要搞清楚你的Git仓库用的是HTTPS还是SSH认证,这是问题的核心:
在本地仓库目录打开命令行,执行:
git remote -v
查看输出的origin地址:
- 如果是HTTPS格式(比如
https://yourdomain.com/git/your-repo.git):命令行push时需要输密码是正常的HTTPS认证流程,但VS Code没弹出密码框是认证助手或Git版本的问题。 - 如果是SSH格式(比如
git@yourdomain.com:your-repo.git):命令行能输密码说明BlueHost允许SSH密码登录,但VS Code默认优先尝试密钥认证,失败后直接报错。
2. 针对HTTPS远程的解决步骤
如果是HTTPS地址,重点解决VS Code的密码弹窗问题:
- 统一VS Code和系统的Git版本:
在VS Code的设置里搜索git.path,确认路径指向你系统安装的Git(比如Windows的C:\Program Files\Git\bin\git.exe,macOS的/usr/bin/git)。如果之前用的是VS Code自带的Git,改成系统版本,避免认证机制不一致。 - 配置Git凭据助手:
命令行执行对应系统的配置命令,让Git能弹出密码框并保存凭据:
配置完成后重启VS Code,再次尝试推送,应该会弹出密码输入框,输入BlueHost账户密码后会自动保存到系统密钥链,后续无需重复输入。# Windows git config --global credential.helper manager-core # macOS git config --global credential.helper osxkeychain # Linux git config --global credential.helper libsecret - 检查VS Code的Git设置:
确保没禁用Git的相关认证选项,比如搜索git.enableCommitSigning、git.autofetch等,保持默认开启状态即可。
3. 针对SSH远程的解决步骤
如果是SSH地址,要么修复密钥认证,要么强制使用密码登录:
选项A:修复SSH密钥认证
- 确保本地私钥权限正确:
Linux/macOS下执行:
Windows右键私钥文件(比如chmod 600 ~/.ssh/id_rsa chmod 700 ~/.sshid_rsa),进入「属性-安全」,删除所有其他用户的权限,只保留当前用户的读取权限。 - 验证公钥在BlueHost的配置:
登录BlueHost面板,找到「SSH密钥管理」(或手动编辑~/.ssh/authorized_keys文件),确保你本地生成的公钥(~/.ssh/id_rsa.pub的完整内容)已添加进去,且authorized_keys文件权限为600,~/.ssh目录权限为700。 - 测试SSH连接:
命令行执行:
看是否能成功登录(无需密码),如果成功说明密钥配置没问题,再回到VS Code尝试推送。ssh your-bluehost-username@yourdomain.com
选项B:强制SSH使用密码登录
如果你暂时不想用密钥,可通过SSH配置强制优先用密码:
在~/.ssh/config文件(没有就新建)中添加:
Host yourdomain.com HostName yourdomain.com User your-bluehost-username PreferredAuthentications password
保存后重启VS Code,推送时应该会触发密码输入提示。
4. 通用排查步骤
- 重启VS Code,清除可能的缓存问题;
- 确认BlueHost的Git仓库路径正确,且你的账户拥有push权限;
- 命令行执行
git push测试,确保仓库本身没问题,再聚焦VS Code的工具适配问题。
内容的提问来源于stack exchange,提问作者Foxhole
相关产品推荐
相关产品推荐

