我以前eval $(ssh-agent -s)
从执行git bash
。它会给我一条消息,一切正常。
如今,它不再输出任何内容,也ps -ef | grep ssh
没有任何结果。就好像 ssh-agent 什么都不做或默默失败了一样。
我没有手动安装/更新任何东西,所以我不知道为什么会发生这种情况。
我尝试重新安装 git,但没有成功。我重启了好几次。
Windows 10
Git 2.36.1
答案1
我在 Windows 11 上遇到了同样的问题。据我所知,Windows 的 OpenSSH 代理默认不会在系统启动时启动。我从来没有能够像这个问题的一些答案所建议的那样将其作为 Windows 服务启动和监控。
我采用的解决方案(如回复所述)这里,完整参考)是在每次打开 Git shell 时检查代理状态(并在需要时启动它),这可以通过在任一 Git 上添加以下代码片段来实现bash
启动文件(喜欢~/.bashrc
和~/.profile
):
# ssh-agent auto-launch (0 = agent running with key; 1 = w/o key; 2 = not run.)
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ $agent_run_state = 2 ]; then
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
elif [ $agent_run_state = 1 ]; then
ssh-add ~/.ssh/id_rsa
fi
该代码片段假定您想要转发的唯一密钥是~/.ssh/id_rsa
,但这可能不适合您的情况。