You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git推送遇双重问题:HTTP认证失败、SSH操作卡顿求助

代码推送问题解决方案

HTTP协议认证失败解决

GitHub在2021年8月13日已移除密码认证支持,因此使用密码推送会触发认证失败,可按以下方式解决:

  • 生成个人访问令牌(PAT):在GitHub账户设置中创建PAT,勾选repo权限(确保拥有仓库读写权限)。
  • 用PAT替代密码:执行git push时,用户名填写GitHub账号名,密码填写生成的PAT即可。
  • 永久存储凭证:通过Git凭证助手保存PAT,避免重复输入:
    git config --global credential.helper store
    
    完成一次git push并输入PAT后,后续操作会自动读取存储的凭证。

SSH协议卡住问题排查

即便确认密钥配置无误,仍可通过以下步骤定位问题:

  1. 验证SSH连通性
    执行命令测试本地与GitHub的SSH连接状态:
    ssh -T git@github.com
    
    若输出Hi [你的用户名]! You've successfully authenticated, but GitHub does not provide shell access.说明认证正常;若卡住或报错,继续排查。
  2. 检查SSH密钥加载情况
    确保ssh-agent处于运行状态且已加载密钥:
    # 启动ssh-agent
    eval "$(ssh-agent -s)"
    # 添加默认路径的密钥(若密钥路径不同需修改)
    ssh-add ~/.ssh/id_rsa
    
  3. 确认远程仓库地址格式
    执行命令检查并修正远程仓库地址为SSH格式:
    git remote -v
    # 若地址错误,执行以下命令修正
    git remote set-url origin git@github.com:SanskarGithub07/BASED.git
    
  4. 网络与代理排查
    • 关闭本地代理或VPN,重新执行git push尝试。
    • 若网络屏蔽22端口,修改SSH配置使用443端口:
      在~/.ssh/config文件中添加:
      Host github.com
        Hostname ssh.github.com
        Port 443
      
  5. 启用SSH调试日志
    执行带调试信息的推送命令,定位卡住环节:
    GIT_SSH_COMMAND="ssh -v" git push --verbose
    
    通过输出日志分析连接中断或卡住的具体原因。

内容的提问来源于stack exchange,提问作者Rachit Anand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 10:12:33