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

Git每次push/pull都提示输入SSH passphrase的原因及解决方法咨询

问题原因及解决方案

SSH验证命令报错原因

你使用的验证命令不符合SSH协议的格式要求,SSH连接GitLab不需要携带https://前缀,也不需要追加个人用户名路径,正确的验证命令为:
ssh -T git@gitlab.com
执行后如果返回包含你GitLab用户名的欢迎信息,即证明SSH连接配置正常。

Git每次push要求输入passphrase的解决方案

该问题的核心原因是你生成ED25519密钥时设置了密钥保护密码(passphrase),且本地没有开启SSH代理缓存密码,每次调用密钥时都会要求你输入密码解锁,和GitLab服务端配置无关,可按以下步骤解决:

  • 启动本地ssh-agent进程:
    Windows系统在Git Bash中执行,macOS/Linux直接在终端执行:
    eval $(ssh-agent -s)
  • 将私钥添加到ssh-agent缓存:
    执行如下命令后输入一次你的密钥passphrase,后续所有使用该密钥的操作都无需重复输入密码:
    ssh-add ~/.ssh/id_ed25519
  • (可选)配置开机自动加载,避免重启设备后重复操作:
    • macOS用户:可将ssh-add --apple-use-keychain ~/.ssh/id_ed25519命令添加到~/.zshrc或~/.bash_profile中,密码会存储到系统钥匙串持久生效
    • Windows用户:可以在服务管理中设置ssh-agent服务为开机自启,添加密钥后密码会永久缓存
    • Linux用户:将ssh-agent启动命令和ssh-add命令写入~/.bashrc或对应shell的配置文件即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:15:01