今天出现了一个我以前从未遇到过的奇怪问题。我执行后ssh <remote ip>
ssh 崩溃,并出现以下异常:
dyld: lazy symbol binding failed: Symbol not found: _timingsafe_bcmp
Referenced from: /usr/local/bin/ssh
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _timingsafe_bcmp
Referenced from: /usr/local/bin/ssh
Expected in: /usr/lib/libSystem.B.dylib
Abort trap: 6
我已经使用详细标志运行了该命令,并且可以看到这是在本地计算机和远程主机之间的密钥交换之后直接发生的。
我尝试过的事情:
- 重启终端
- 重启机器
- 删除 /usr/bin 中的所有 ssh 程序,并将其替换为同事 mac 的程序
- 启动到恢复模式并将 libSystem.B.dylib 替换为 macOS 附带的 libSystem.B.dylib
- 使用 homebrew 安装 openssh
- 删除 openssh
- 将 PATH 添加到 /usr/bin
请注意,其他命令(如)也会出现同样的错误scp
。
答案1
Federico 链接了 github.com/Homebrew/homebrew-dupes/issues/716,这表明这可能是 macOS 的一个错误
就像那篇文章的原作者一样,我之前使用的是 10.12.0,刚刚更新到 10.12.3。它解决了这个问题。