ssh-agent 不再起作用

ssh-agent 不再起作用

我以前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,但这可能不适合您的情况。

相关内容