Git拉取报错kex-exchange_identification的原因及解决方案咨询
执行
git pull upstream main时连接错误的原因及解决办法 可能原因及对应解决方案
1. 网络连接异常
- 问题:本地网络波动、防火墙/杀毒软件拦截SSH端口(22),或GitHub IP被网络运营商屏蔽
- 解决:
- 测试连通性:执行
ping github.com或telnet github.com 22,检查能否正常访问GitHub的SSH服务 - 临时关闭本地防火墙、杀毒软件的防护规则后重试命令
- 若使用代理,确认代理配置有效,或暂时关闭代理再操作
- 测试连通性:执行
2. SSH密钥配置问题
- 问题:本地SSH密钥未绑定到GitHub账户,或密钥权限不符合要求
- 解决:
- 检查本地密钥:执行
ls ~/.ssh,查看是否存在id_rsa(私钥)和id_rsa.pub(公钥)文件;若没有,执行ssh-keygen -t rsa -b 4096 -C "你的GitHub注册邮箱"生成新密钥 - 绑定公钥:复制
id_rsa.pub内的全部文本,添加到GitHub账户的「SSH and GPG keys」设置中 - 修正密钥权限:执行
chmod 600 ~/.ssh/id_rsa和chmod 644 ~/.ssh/id_rsa.pub,确保权限符合SSH要求 - 验证连接:执行
ssh -T git@github.com,若收到「Hi [你的用户名]! You've successfully authenticated...」的提示,说明配置正常
- 检查本地密钥:执行
3. Upstream仓库地址配置错误
- 问题:虽然仓库存在,但本地配置的upstream远程地址可能格式错误或拼写有误
- 解决:
- 查看当前远程配置:执行
git remote -v,检查upstream的地址是否为正确的SSH格式(示例:git@github.com:用户名/仓库名.git) - 修正地址:若地址错误,执行
git remote set-url upstream git@github.com:用户名/仓库名.git(替换为实际仓库地址)
- 查看当前远程配置:执行
4. GitHub服务器临时故障
- 问题:GitHub的SSH服务可能出现临时故障
- 解决:等待一段时间后重试,或查看GitHub官方状态页面确认服务是否正常
内容的提问来源于stack exchange,提问作者Patrick Zimmermann
相关产品推荐
相关产品推荐

