在 SSH 後方保護 Mac 螢幕共享

重要:在進行此變更前,請先完成 SSH 設定
此設定會強制 所有螢幕共享連線都使用 SSH,包括來自同一個本機網路上的裝置的連線。

一旦啟用,macOS 將只會接受來自 Mac 本機(localhost)的直接螢幕共享(VNC)連線。來自其他裝置的直接 VNC 連線將因此停止運作,不論它們來自網際網路、VPN,或你的本機網路。

在繼續之前,請確定你的 Mac 已啟用 遠端登入,而且 Screens 已設定為使用 安全連線,包括下方所述的 在本機連線上啟用。否則,Screens 將無法連線。

從 macOS 10.12 Sierra 開始,macOS 可以設定為只接受來自 Mac 本機(localhost)的內建螢幕共享服務連線。這可防止其他裝置直接連線到螢幕共享(VNC)服務,包括同一個本機網路上的裝置。

Screens 仍然可以先與 Mac 建立 SSH 連線,然後透過 SSH 將螢幕共享連線進行通道轉送。因此,所有連線到該 Mac 的 Screens 連線都會需要 SSH,包括本機連線。

開始之前

由於在進行此變更後將不再接受直接的螢幕共享連線,你的 Mac 必須啟用遠端登入(SSH)。

  1. 開啟 系統設定。
  2. 前往 一般 > 共享。
  3. 啟用 遠端登入。
  4. 確認你的 Mac 使用者帳號已獲准存取。

如果已安裝,你也需要依照下方說明,設定 Screens 和 Screens Connect 使用安全連線。

設定 Screens

在將螢幕共享限制為本機連線之前,請在 Screens 中編輯你已儲存的連線,並開啟 安全性 區段。

啟用 安全連線,並確認 在本機連線上啟用 也已開啟。

這一點很重要:一旦螢幕共享被限制為本機連線,Screens 即使在你的裝置與 Mac 位於同一個本機網路時,也必須使用 SSH。

設定 Screens Connect

如果你使用 Screens Connect,請開啟其設定,選取 一般,並啟用 使用遠端登入。

這可確保 Screens Connect 設定遠端連線時使用 SSH,而不是直接連線到螢幕共享服務。

將螢幕共享限制為本機連線

一旦已設定好遠端登入與上述 SSH 選項,請在 Mac 上開啟 終端機 並輸入:

sudo defaults write /Library/Preferences/com.apple.RemoteManagement.plist VNCOnlyLocalConnections -bool yes

在提示時輸入你的 Mac 使用者帳號密碼。

VNCOnlyLocalConnections 設定會指示 macOS 螢幕共享只接受來自 localhost 的直接 VNC 連線。

這表示:

變更回復

如果你希望 macOS 螢幕共享再次直接接受網路連線,請開啟終端機並輸入:

sudo defaults write /Library/Preferences/com.apple.RemoteManagement.plist VNCOnlyLocalConnections -bool no

在再次嘗試連線之前,請等待幾秒鐘讓 macOS 套用變更。

變更生效後,Screens 就可以再次直接連線到螢幕共享(VNC)服務,包括透過你的本機網路或 VPN,而不需要 SSH 隧道。

如果你不再想使用安全連線,之後就可以停用 Screens 和 Screens Connect 中與 SSH 相關的設定。

重要: 一旦螢幕共享被限制為 localhost,Screens 必須對這台 Mac 的每一個連線都使用 SSH,即使你的裝置與 Mac 位於同一個本機網路,或該 Mac 出現在 附近 中也是如此。

若沒有 在本機連線上啟用,本機連線將會嘗試直接連線到 VNC 服務,並會失敗。

仍然需要幫助?

給我們發送電子郵件