苹果iOS10系统shsh 苹果更新10.0系统_Mac

量子位

苹果电脑最新的 10.15.4 系统,你更新了吗?

如果你不幸升级,而且还是要使用 SSH 的用户,那么恭喜你中招了。

苹果iOS10系统shsh 苹果更新10.0系统_Mac_02

最近,一位名叫 Taylor Hall 的程序员发现,自从更新了到 macOS Catalina 最新版,再也无法通过 SSH 登上自己的 Web 服务器。

一开始,Taylor 以为是自己的服务器意外关闭了,但是他没有收到任何警报,而且服务器还能提供网络服务。

Taylor 才发现,事情没那么简单。

都是 Mac 惹的祸

Taylor 首先登陆服务器提供商 Linode 的控制面板,重启了自己的服务器,用 Mac 电脑依然无法登陆。

奇怪的是,服务器没有拒绝连接,甚至没有超时,只是挂起。Taylor 等了十多分钟,但是终端里没有显示超时,也没有任何其他输出内容。

苹果iOS10系统shsh 苹果更新10.0系统_苹果iOS10系统shsh_03

然后,Taylor 发现了更多奇怪的地方,比如用 FTP 客户端 ForkLift 却能正常连接,用数据库管理工具 Sequel Pro 也能通过 SSH 连接服务器。

Taylor 之前是用 iMac 尝试登录,换成一台其他品牌的笔记本就正常,再换成 MacBook Pro 又无法登陆。

苹果iOS10系统shsh 苹果更新10.0系统_服务器_04

这三台机器都在同一个 WiFi 下,因此不可能是自家的 IP 地址被禁了。

那么是不是本地的私钥权限出了问题呢?Taylor 又从备份中重新创建了所有密钥,依旧无法登陆。

问题已经变得清晰了,很可能就是苹果电脑的系统问题。

为了更进一步证实自己的想法,Taylor 在自己的 iMac 上开了个 Ubuntu 的虚拟机,用它来连接自己的服务器,结果连上了!

解决方法

过去这个问题在 10.15.3 上不曾出现,所以极有可能是最新版 10.15.4 的问题。

带着这个问题,Taylor 在谷歌上搜索 “10.15.4 SSH”,在苹果论坛上找到了下面的内容:

使用服务器名称代替 IP 地址时,若 Catalina 10.15.4 的 SSH 端口 > 8192 将不起作用。

升级到 macOS Catalina 10.15.4 之后,才开始出现此问题。

更新之后,不再能够使用服务器名称(而不是 IP)打开大于 8192 端口的 SSH 连接。

Taylor 试了一下,果然如此,把服务器名称改成 IP 地址,一切又恢复正常。

接着他又尝试把 SSH 端口改成标准的 22,用服务器名称也能正常连接。

除了以上两种方法,广大程序员还给 Taylor 提供了其他方案,比如通过 Homebrew 安装 openssh,覆盖掉系统默认 ssh 的设置。

当然,还有个最绝的办法,就是不升级到 10.15.4,关掉系统自动升级的设置。打开终端,输入以下命令,你就不会收到新的系统更新信息了。

sudo softwareupdate —ignore “macOS Catalina”defaults write com.apple.systempreferences AttentionPrefBundleIDs 0killall Dock

如果你以后想更新到 macOS Catalina,只需在终端里输入以下命令:

sudo softwareupdate —reset-ignored

最新 macOS 槽点太多

你以为最新 macOS 就这一个毛病吗?问题还有很多。

Taylor 在抛出这个 SSH 故障问题后,广大程序员立即开启了吐槽模式:新版的 Catalina(10.15)实在太难用啦!

Hacker News 上的评论在几个小时内就涨到了 200 多。

苹果iOS10系统shsh 苹果更新10.0系统_IP_05

有的程序员在更新到 Catalina 后,过去的开发环境惨遭破坏,无奈之下又降级到 Mojave(10.14)。

而且 Catalina 对外接显示器的支持也变得更差。众所周知,新版 MacBook Pro 只有 Type-C 接口,程序员们又经常用到外接显示器。

但是新系统在用扩展坞外接时,经常会出现新屏幕管理器服务崩溃,更改分辨率后无法显示图像等等。

苹果iOS10系统shsh 苹果更新10.0系统_Mac_06

有位程序员说,自己正准备升级到 10.15,结果一打开网站就看到这篇帖子……

他应该是不敢升级了。

参考链接:
https://feed.tyler.io/so-uh-i-think-catalina-10154-broke-ssh/https://news.ycombinator.com/item?id=22738590