最新macOS破壞SSH默認(rèn)規(guī)則,程序員無法登錄Web服務(wù)器
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
蘋果電腦最新的10.15.4系統(tǒng),你更新了嗎?
如果你不幸升級,而且還是要使用SSH的用戶,那么恭喜你中招了。
最近,一位名叫Taylor Hall的程序員發(fā)現(xiàn),自從更新了到macOS Catalina最新版,再也無法通過SSH登上自己的Web服務(wù)器。
一開始,Taylor以為是自己的服務(wù)器意外關(guān)閉了,但是他沒有收到任何警報(bào),而且服務(wù)器還能提供網(wǎng)絡(luò)服務(wù)。
Taylor才發(fā)現(xiàn),事情沒那么簡單。
都是Mac惹的禍
Taylor首先登陸服務(wù)器提供商Linode的控制面板,重啟了自己的服務(wù)器,用Mac電腦依然無法登陸。
奇怪的是,服務(wù)器沒有拒絕連接,甚至沒有超時(shí),只是掛起。Taylor等了十多分鐘,但是終端里沒有顯示超時(shí),也沒有任何其他輸出內(nèi)容。
然后,Taylor發(fā)現(xiàn)了更多奇怪的地方,比如用FTP客戶端ForkLift卻能正常連接,用數(shù)據(jù)庫管理工具Sequel Pro也能通過SSH連接服務(wù)器。
Taylor之前是用iMac嘗試登錄,換成一臺其他品牌的筆記本就正常,再換成MacBook Pro又無法登陸。
這三臺機(jī)器都在同一個(gè)WiFi下,因此不可能是自家的IP地址被禁了。
那么是不是本地的私鑰權(quán)限出了問題呢?Taylor又從備份中重新創(chuàng)建了所有密鑰,依舊無法登陸。
問題已經(jīng)變得清晰了,很可能就是蘋果電腦的系統(tǒng)問題。
為了更進(jìn)一步證實(shí)自己的想法,Taylor在自己的iMac上開了個(gè)Ubuntu的虛擬機(jī),用它來連接自己的服務(wù)器,結(jié)果連上了!
解決方法
過去這個(gè)問題在10.15.3上不曾出現(xiàn),所以極有可能是最新版10.15.4的問題。
帶著這個(gè)問題,Taylor在谷歌上搜索“10.15.4 SSH”,在蘋果論壇上找到了下面的內(nèi)容:
使用服務(wù)器名稱代替IP地址時(shí),若Catalina 10.15.4的SSH端口>8192將不起作用。
升級到macOS Catalina 10.15.4之后,才開始出現(xiàn)此問題。
更新之后,不再能夠使用服務(wù)器名稱(而不是IP)打開大于8192端口的SSH連接。
Taylor試了一下,果然如此,把服務(wù)器名稱改成IP地址,一切又恢復(fù)正常。
接著他又嘗試把SSH端口改成標(biāo)準(zhǔn)的22,用服務(wù)器名稱也能正常連接。
除了以上兩種方法,廣大程序員還給Taylor提供了其他方案,比如通過Homebrew安裝openssh,覆蓋掉系統(tǒng)默認(rèn)ssh的設(shè)置。
當(dāng)然,還有個(gè)最絕的辦法,就是不升級到10.15.4,關(guān)掉系統(tǒng)自動升級的設(shè)置。打開終端,輸入以下命令,你就不會收到新的系統(tǒng)更新信息了。
- sudo softwareupdate —ignore “macOS Catalina”
- defaults write com.apple.systempreferences AttentionPrefBundleIDs 0
- killall Dock
如果你以后想更新到macOS Catalina,只需在終端里輸入以下命令:
- sudo softwareupdate —reset-ignored
最新macOS槽點(diǎn)太多
你以為最新macOS就這一個(gè)毛病嗎?問題還有很多。
Taylor在拋出這個(gè)SSH故障問題后,廣大程序員立即開啟了吐槽模式:新版的Catalina(10.15)實(shí)在太難用啦!
Hacker News上的評論在幾個(gè)小時(shí)內(nèi)就漲到了200多。
有的程序員在更新到Catalina后,過去的開發(fā)環(huán)境慘遭破壞,無奈之下又降級到Mojave(10.14)。
而且Catalina對外接顯示器的支持也變得更差。眾所周知,新版MacBook Pro只有Type-C接口,程序員們又經(jīng)常用到外接顯示器。
但是新系統(tǒng)在用擴(kuò)展塢外接時(shí),經(jīng)常會出現(xiàn)新屏幕管理器服務(wù)崩潰,更改分辨率后無法顯示圖像等等。
有位程序員說,自己正準(zhǔn)備升級到10.15,結(jié)果一打開網(wǎng)站就看到這篇帖子……
他應(yīng)該是不敢升級了。