Git老司机避坑指南:Sourcetree+GitHub的5个SSH连接疑难杂症排查
当你用Sourcetree优雅地点击"Clone"按钮时,突然蹦出一串红色错误提示——这种体验就像开着跑车突然爆胎。SSH连接问题尤其令人头疼,因为它们往往隐藏在图形界面背后,需要开发者具备"掀开引擎盖"排查的能力。本文将带你深入五个典型SSH连接故障场景,从主机密钥缓存到多账户冲突,用Wireshark抓包和配置对比揭开问题本质。
1. 主机密钥未缓存:图形化工具的隐藏陷阱
"The server's host key is not cached in the registry"这个错误暴露出Sourcetree与传统命令行工具的关键差异。当首次通过SSH连接GitHub时,OpenSSH会在~/.ssh/known_hosts中记录服务器指纹,而Sourcetree使用的PuTTY套件(通过plink)则维护独立的密钥缓存。
典型症状:
- 首次连接时弹出无法交互的错误提示
- 错误信息包含"Store key in cache? (y/n)"但无输入界面
- 使用原生git命令可正常连接
解决方案对比:
| 操作方式 | 命令行Git | Sourcetree |
|---|---|---|
| 密钥存储位置 | ~/.ssh/known_hosts | PuTTY注册表缓存 |
| 交互方式 | 直接终端提示输入 | 需手动预缓存 |
| 修复命令 | ssh-keyscan -H github.com >> known_hosts |

7027

被折叠的 条评论
为什么被折叠?



