如何从 SourceTree SSH 代理中删除密钥

How to Remove Keys from SourceTree SSH Agent

我在 Windows 上使用 SourceTree。我有 SSH 密钥来验证服务器连接。因此,当我启动 Sourcetree 时,它​​会启动 SSH 代理,然后它会要求我提供每个密钥的密码。没关系。

但是,虽然我可以在 SourceTree 中看到“添加 SSH 密钥”选项,但我看不到如何删除它。我的实际问题是,由于误导性错误消息,我重新添加了密钥,现在它多次使用相同的密钥,并且在启动时要求输入太多密码!但是,更一般地说,我希望能够从 SSH 代理中列出和删除密钥。

我试过使用命令行 ssh-add 但它说

Error connecting to agent: No such file or directory

(使用 windows CMD shell 和 SourceTree 启动的 Git bash 终端进行了尝试)

当 SourceTree 为 运行 时,我在任务管理器中看到一个 运行 ssh-agent.exe 进程 - 在“详细信息”选项卡中。但在“服务”选项卡中,它表示服务已停止。所以,我想 SourceTree 已经启动了它,但我该如何连接到它呢?或者,如何告诉 SourceTree 不要启动它自己的,而是使用 Windows 服务?

我正在使用 OpenSSH SSH 客户端(在 SourceTree 选项中)

终于找到了自己的答案。似乎没有直接连接到代理的方法,但密钥直接存储在 SourceTree 配置中。 Tools | Options | General | SSH Client Configuration : SSH Key。此字段是一个 semi-colon 分隔的要加载密钥的路径列表。我刚刚从那里删除了重复项。

现在将 SourceTree 和 OpenSSH Agent 获取到 co-exist 时遇到问题,但这是另一个问题。至少它只要求我输入一次密码。