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

MacBook克隆GitLab仓库遇ssh_exchange_identification错误求助

解决MacBook SSH连接GitLab报错ssh_exchange_identification: read: Connection reset by peer的方案

我之前在自己的Mac上碰到过几乎一模一样的问题,结合你的情况(浏览器能正常访问、其他服务器连接无异常、无GitLab管理员权限),给你几个可以自行尝试的排查和解决方向:

一、清理本地SSH缓存并重新验证

本地SSH的known_hosts文件如果存储了旧的服务器密钥,可能会触发连接异常,先清理对应条目:

  • 执行命令:ssh-keygen -R <GitLab服务器的域名或IP地址>
  • 清理完成后重新尝试SSH登录或Git克隆,此时会提示确认服务器的新密钥,选择yes即可

二、排查本地网络与端口问题

浏览器用的是HTTPS(443端口),而SSH默认用22端口,两者的网络规则可能完全不同:

  • 测试端口连通性:执行telnet <GitLab服务器地址> 22,如果无法连通,说明当前网络的防火墙/路由拦截了22端口,试试切换网络(比如手机热点)
  • 指定自定义SSH端口尝试:如果GitLab服务器的SSH端口不是默认22,连接时可以手动指定:
    • SSH登录:ssh -p <自定义端口号> git@<GitLab服务器地址>
    • Git克隆:git clone ssh://git@<GitLab服务器地址>:<自定义端口号>/<仓库完整路径>.git

三、检查本地SSH环境

Mac自带的SSH客户端有时会有兼容性问题,或者本地代理会干扰连接:

  • 关闭代理/VPN:如果当前开启了全局代理或VPN,暂时关闭后重试,很多时候代理会误拦截SSH流量
  • 开启Verbose模式排查细节:执行ssh -v git@<GitLab服务器地址>,查看详细的连接日志,能精准定位是连接建立阶段、密钥验证阶段还是其他环节出了问题
  • 更新SSH客户端:用Homebrew安装最新版OpenSSH替代系统自带的:
    1. 先安装Homebrew(未安装的话执行:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)")
    2. 安装OpenSSH:brew install openssh
    3. 用新客户端尝试连接:/usr/local/bin/ssh git@<GitLab服务器地址>

四、可选:联系管理员辅助排查

如果以上方法都无效,可以联系GitLab服务器的管理员,让他们帮忙:

  • 检查SSH服务是否正常运行
  • 确认你的IP没有被服务器端系统防火墙临时拦截(虽然你提到无封禁软件,但系统自带防火墙可能有临时规则)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:11:57