























排查了一上午,MacOS 15 真是巨烂。
这两天折腾内核,旧 X86 的 MacBook Pro 上的 ElementaryOS 虚拟机再次派上用场,之前一直在虚拟机里操作,来回隔空接力倒是也没啥,到底是心急直接 ssh 不是更好嘛,试试才发现,各种超时。
思路:
ssh -vvv 查看日志,卡在新服务器都会有个 known_hosts 指纹添加的前面,等待返回握手消息。sudo tcpdump -i en0 host x.x.x.x and port 22 跟踪消息,发现 MacOS 这边的包是一直在发,而 Linux 那边防火墙没开,sshd 日志毫无反应,明显没收到包。从版本,到 ARM 与 x86 的兼容性配置等等一系列排查下来,最终定位:
MacOS 自带的 OpenSSH_9.9p2, LibreSSL 3.3.6 与 Linux 那边的 OpenSSH_8.9p1 , OpenSSL 3.0.2 不兼容。
解决办法(也是尝试过程):
brew install openssh
再次连接则一切正常:
$ /opt/homebrew/bin/ssh user@ip
The authenticity of host 'xxxx' can't be established.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
至此,不更新 MacOS 26, 解决办法就只有使用 Brew 的 OpenSSH 替代,版本为最新 OpenSSH_10.2p1, OpenSSL 3.6.0 。
为了使其替代默认,优先使用,在 .zshrc 环境中添加以下代码即可:
export PATH="/opt/homebrew/bin:$PATH"
以前咋用,现在就咋用,以上。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。