晓查 发自 凹非寺
量子位 报导 | 大众号 QbitAI
苹果电脑最新的10.15.4体系,你更新了吗?
假如你不幸晋级,并且仍是要运用SSH的用户,那么祝贺你中招了。
最近,一位名叫Taylor Hall的程序员发现,自从更新了到macOS Catalina最新版,再也无法经过SSH登上自己的Web服务器。
一开端,Taylor认为是自己的服务器意外封闭了,可是他没有收到任何警报,并且服务器还能供给网络服务。
Taylor才发现,工作没那么简略。
都是Mac惹的祸
Taylor首要登陆服务器供给商Linode的控制面板,重启了自己的服务器,用Mac电脑仍然无法登陆。
古怪的是,服务器没有回绝衔接,乃至没有超时,仅仅挂起。Taylor等了十多分钟,可是终端里没有显现超时,也没有一点其他输出内容。
然后,Taylor发现了更多古怪的当地,比方用FTP客户端ForkLift却能正常衔接,用数据库管理工具Sequel Pro也能经过SSH衔接服务器。
Taylor之前是用iMac测验登录,换成一台其他品牌的笔记本就正常,再换成MacBook Pro又无法登陆。
这三台机器都在同一个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多。
有的程序员在更新到Catalina后,曩昔的开发环境惨遭损坏,无法之下又降级到Mojave(10.14)。
并且Catalina对外接显现器的支撑也变得更差。众所周知,新版MacBook Pro只要Type-C接口,程序员们又常常用到外接显现器。
可是新体系在用扩展坞外接时,常常会呈现新屏幕管理器服务溃散,更改分辨率后无法显现图画等等。
有位程序员说,自己正准备晋级到10.15,成果一翻开网站就看到这篇帖子……
他应该是不敢晋级了。