Viktigt: Slutför SSH-installationen innan du gör den här ändringen
Den här konfigurationen tvingar alla Screen Sharing-anslutningar att använda SSH, inklusive anslutningar från enheter på samma lokala nätverk.När detta har aktiverats kommer macOS endast att acceptera direkta Screen Sharing-anslutningar (VNC) som kommer från Mac:en själv (localhost). Direkta VNC-anslutningar från andra enheter kommer därför att sluta fungera, oavsett om de kommer från Internet, ett VPN eller ditt lokala nätverk.
Innan du fortsätter ska du se till att Remote Login är aktiverat på din Mac och att Screens är konfigurerat att använda Secure Connections, inklusive Enable on Local Connections, enligt beskrivningen nedan. Annars kommer Screens inte att kunna ansluta.
Från och med macOS 10.12 Sierra kan macOS konfigureras så att dess inbyggda Screen Sharing-tjänst endast accepterar anslutningar som kommer från Mac:en själv (localhost). Detta hindrar andra enheter från att ansluta direkt till Screen Sharing-tjänsten (VNC), inklusive enheter på samma lokala nätverk.
Screens kan fortfarande ansluta genom att först upprätta en SSH-anslutning till Mac:en och sedan tunnla Screen Sharing-anslutningen genom SSH. Som ett resultat blir SSH ett krav för alla Screens-anslutningar till den Mac:en, inklusive lokala anslutningar.
Innan du börjar
Eftersom direkta Screen Sharing-anslutningar inte längre kommer att accepteras efter att du gör den här ändringen måste Remote Login (SSH) vara aktiverat på din Mac.
- Öppna System Settings.
- Gå till General > Sharing.
- Aktivera Remote Login.
- Kontrollera att ditt Mac-användarkonto har åtkomst.
Du behöver också konfigurera Screens och Screens Connect, om det är installerat, för att använda säkra anslutningar enligt beskrivningen nedan.
Konfigurera Screens
Innan du begränsar Screen Sharing till lokala anslutningar, redigera din sparade anslutning i Screens och öppna avsnittet Security.
Aktivera Secure Connections och se till att Enable on Local Connections också är aktiverat.
Detta är viktigt: när Screen Sharing väl är begränsat till lokala anslutningar måste Screens använda SSH även när din enhet är på samma lokala nätverk som din Mac.
Konfigurera Screens Connect
Om du använder Screens Connect, öppna dess inställningar, välj General och aktivera Use Remote Login.
Detta säkerställer att Screens Connect konfigurerar fjärranslutningar att använda SSH i stället för att ansluta direkt till Screen Sharing-tjänsten.
Begränsa Screen Sharing till lokala anslutningar
När Remote Login och SSH-alternativen ovan har konfigurerats, öppna Terminal på Mac:en och ange:
sudo defaults write /Library/Preferences/com.apple.RemoteManagement.plist VNCOnlyLocalConnections -bool yes
Ange lösenordet för ditt Mac-användarkonto när du ombeds göra det.
Inställningen VNCOnlyLocalConnections instruerar macOS Screen Sharing att endast acceptera direkta VNC-anslutningar från localhost.
Detta innebär:
- Direkta VNC-anslutningar från Internet kommer inte längre att fungera.
- Direkta VNC-anslutningar via VPN som Tailscale eller ZeroTier kommer inte längre att fungera.
- Direkta VNC-anslutningar från andra enheter på ditt lokala nätverk kommer inte längre att fungera.
- Screens måste ansluta via SSH först och tunnla VNC-anslutningen genom det, oavsett om anslutningen är fjärr eller lokal.
Ångra ändringen
Om du vill att macOS Screen Sharing återigen ska acceptera nätverksanslutningar direkt, öppna Terminal och ange:
sudo defaults write /Library/Preferences/com.apple.RemoteManagement.plist VNCOnlyLocalConnections -bool no
Vänta några sekunder så att macOS hinner tillämpa ändringen innan du försöker ansluta igen.
När ändringen har trätt i kraft kan Screens återigen ansluta direkt till Screen Sharing-tjänsten (VNC), även via ditt lokala nätverk eller ett VPN, utan att en SSH-tunnel krävs.
Du kan sedan inaktivera de SSH-specifika inställningarna i Screens och Screens Connect om du inte längre vill använda säkra anslutningar.
Viktigt: när Screen Sharing väl är begränsat till localhost måste Screens använda SSH för varje anslutning till den här Mac:en, även när din enhet är på samma lokala nätverk eller Mac:en visas i Nearby.
Utan Enable on Local Connections kommer lokala anslutningar att försöka ansluta direkt till VNC-tjänsten och kommer att misslyckas.