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

如何从SourceTree的SSH Agent中移除重复或不需要的SSH密钥

SourceTree SSH 密钥与Agent相关问题解决方案

1. 移除SourceTree中重复添加的SSH密钥

多次要求输入同一密钥密码的问题,是因为重复添加密钥时SourceTree在SSH配置中写入了多条相同的IdentityFile记录,按以下步骤清理:

  • 完全关闭SourceTree,在任务管理器「详细信息」标签页找到ssh-agent.exe进程,右键选择「结束任务」
  • 打开文件资源管理器,地址栏输入%USERPROFILE%\.ssh回车进入SSH配置目录
  • 用记事本打开config文件,删除所有重复的IdentityFile开头的行(只保留一条对应你密钥的记录即可),保存关闭
  • 若清理后问题仍存在,进入路径%APPDATA%\Atlassian\SourceTree,删除目录下的ssh_host_keys和ssh_config文件,重启SourceTree后会自动生成新的配置文件

2. 连接SourceTree自行启动的SSH Agent

直接执行ssh-add报错Error connecting to agent: No such file or directory,是因为SourceTree启动的SSH Agent没有将身份验证套接字和进程ID的环境变量注入全局终端,按以下步骤可临时连接:

  • 任务管理器「详细信息」标签页找到SourceTree启动的ssh-agent.exe,记下对应的PID值
  • 打开SourceTree自带的Git Bash终端,依次执行以下命令(将<PID>替换为你记下的进程ID):
    export SSH_AGENT_PID=<PID>
    export SSH_AUTH_SOCK=$(find /tmp/ssh-* -name "agent.*" | grep -E "agent\.${SSH_AGENT_PID:0:4}" | head -n 1)
    
  • 现在就可以正常执行ssh-add相关命令管理该Agent中的密钥了

3. 配置SourceTree使用系统SSH Agent(推荐方案)

要彻底避免SourceTree自行启动SSH Agent,改用系统内置的OpenSSH Authentication Agent服务,按以下步骤操作:

3.1 启动系统SSH Agent服务

  • 按Win+R快捷键输入services.msc回车打开服务管理器
  • 找到「OpenSSH Authentication Agent」服务,双击打开属性面板
  • 启动类型选择「自动」,点击「启动」按钮,确认服务状态变为「正在运行」后点击确定保存

3.2 修改SourceTree SSH配置

  • 打开SourceTree,点击顶部菜单栏「工具」→「选项」
  • 切换到「SSH」选项卡,确认SSH客户端已选择「OpenSSH」
  • 勾选「不自动启动SSH Agent,使用系统运行的SSH Agent」选项,点击确定保存
  • 重启SourceTree生效

3.3 添加密钥到系统SSH Agent

  • 打开PowerShell或CMD,执行ssh-add 你的密钥完整路径,示例:
    ssh-add C:\Users\张三\.ssh\id_rsa
    
  • 输入一次密钥密码后,只要系统服务不重启,后续不需要重复输入密码

4. 通用SSH Agent操作命令

  • 查看已加载的密钥指纹列表:ssh-add -l
  • 查看已加载的完整公钥列表:ssh-add -L
  • 删除指定密钥:ssh-add -d 密钥完整路径
  • 清空所有已加载的密钥:ssh-add -D

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:06:03