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

无法向HTTPS协议的GitLab仓库执行git push:每次错误触发SSH密码短语验证

无法向HTTPS协议的GitLab仓库执行git push:每次错误触发SSH密码短语验证

看起来你的Mageia 9机器上的Git配置出了点小问题——明明是用HTTPS克隆的仓库,Git却偷偷把请求转成了SSH协议,这才导致弹出SSH密码框,而服务器又没开启SSH支持,最终触发权限拒绝的错误。咱们一步步排查解决:

  • 先确认当前仓库的远程地址是否正确
    进入你的仓库目录,执行:

    git remote -v
    

    看看输出的origin地址是不是HTTPS开头的。如果显示的是SSH格式(比如git@gitlab.gutenberg-asso.fr:...),那就是地址被改了,直接改回HTTPS地址即可:

    git remote set-url origin https://gitlab.gutenberg-asso.fr/你的仓库路径.git
    
  • 检查全局Git的URL替换规则
    有些时候会设置全局规则,自动把HTTPS的GitLab地址替换成SSH格式,导致请求被转走。执行以下命令查看全局配置里的替换规则:

    git config --global --list | grep insteadOf
    

    如果看到类似url.git@gitlab.gutenberg-asso.fr:.insteadOf=https://gitlab.gutenberg-asso.fr/的条目,这就是罪魁祸首。你可以删掉这个全局配置:

    git config --global --unset url.git@gitlab.gutenberg-asso.fr:.insteadOf
    

    或者如果只是不想影响这个仓库,也可以在仓库目录下设置局部配置覆盖全局规则。

  • 排查SSH相关的环境变量
    你的机器上可能设置了SSH_ASKPASS环境变量,导致Git错误调用SSH的密码弹窗。先在终端里临时取消这个变量试试:

    unset SSH_ASKPASS
    

    然后再执行git push,看是否还会弹出那个qt5的密码框。如果有效,你可以检查shell的配置文件(比如~/.bashrc或~/.zshrc),找到设置这个变量的行并删掉,避免下次登录再出现问题。

  • 确认2FA与凭证的问题
    错误提示里提到了2FA,如果你账号开启了两步验证,那HTTPS方式push必须用**个人访问令牌(PAT)**代替密码。你的Debian机器能成功,可能是已经缓存了正确的PAT,而Mageia机器没有。如果前面的步骤解决了SSH弹窗问题,但还是提示权限拒绝,就需要生成一个PAT,在push时输入PAT作为密码。

备注:内容来源于stack exchange,提问作者Denis Bitouzé

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 12:53:09