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

SSH在bash中正常但zsh/fish终端预认证阶段断开如何解决

SSH连接偶现Unknown error: -536870212问题排查解决

问题现象

  • 在bash终端中执行ssh登录远程主机,绝大多数场景下可正常连接,执行命令如下:
ssh -vvvv -p PORT USER@IP
  • 少数场景下会触发如下报错:
OpenSSH_7.9p1, LibreSSL 2.7.3
debug1: Reading configuration data /Users/USER/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolve_canonicalize: hostname IP is address
debug2: ssh_connect_direct
debug1: Connecting to IP [IP] port PORT.
debug1: connect to address IP port PORT: Unknown error: -536870212
ssh: connect to host IP port PORT: Unknown error: -536870212
  • 切换到zsh、fish等其他shell时,执行ssh命令几乎每次都会触发该错误,需要将ssh命令放在循环中反复执行才能连接成功
  • 已在服务端调高MaxSessions和MaxStartups参数,服务端日志仅显示客户端在预认证阶段断开连接

问题根因

该问题出现在MacOS Mojave系统上,是系统默认预装的OpenSSH版本过旧导致的兼容缺陷,系统自带的ssh版本信息如下:

/usr/bin/ssh -V
OpenSSH_7.9p1, LibreSSL 2.7.3

修复方案

通过brew安装新版本OpenSSH即可彻底解决问题:

  1. 执行安装命令:
brew install openssh
  1. 验证安装的新版本信息:
/usr/local/bin/ssh -V
OpenSSH_8.8p1, OpenSSL 1.1.1l  24 Aug 2021

升级完成后,SSH在bash、zsh、fish等所有shell环境下均可正常连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:36:05