Protegiendo la compartición de pantalla de Mac detrás de SSH

Importante: completa la configuración de SSH antes de hacer este cambio
Esta configuración obliga a que todas las conexiones de Screen Sharing utilicen SSH, incluidas las conexiones desde dispositivos en la misma red local.

Una vez habilitado, macOS solo aceptará conexiones directas de Screen Sharing (VNC) que se originen en el propio Mac (localhost). Por lo tanto, las conexiones VNC directas desde otros dispositivos dejarán de funcionar, ya provengan de Internet, de una VPN o de tu red local.

Antes de continuar, asegúrate de que Remote Login esté habilitado en tu Mac y de que Screens esté configurado para usar Secure Connections, incluyendo Enable on Local Connections, como se describe abajo. De lo contrario, Screens no podrá conectarse.

A partir de macOS 10.12 Sierra, macOS puede configurarse para que su servicio integrado de Screen Sharing solo acepte conexiones que se originen en el propio Mac (localhost). Esto evita que otros dispositivos se conecten directamente al servicio de Screen Sharing (VNC), incluidos los dispositivos de la misma red local.

Screens aún puede conectarse estableciendo primero una conexión SSH con el Mac y luego canalizando la conexión de Screen Sharing a través de SSH. Como resultado, SSH pasa a ser necesario para todas las conexiones de Screens a ese Mac, incluidas las conexiones locales.

Antes de empezar

Como después de hacer este cambio ya no se aceptarán conexiones directas de Screen Sharing, Remote Login (SSH) debe estar habilitado en tu Mac.

  1. Abre System Settings.
  2. Ve a General > Sharing.
  3. Activa Remote Login.
  4. Asegúrate de que tu cuenta de usuario de Mac tenga अनुमति de acceso.

También tendrás que configurar Screens y Screens Connect, si está instalado, para usar conexiones seguras como se describe abajo.

Configurar Screens

Antes de restringir Screen Sharing a conexiones locales, edita tu conexión guardada en Screens y abre la sección Security.

Activa Secure Connections y asegúrate de que Enable on Local Connections también esté activado.

Esto es importante: una vez que Screen Sharing se restrinja a conexiones locales, Screens deberá usar SSH incluso cuando tu dispositivo esté en la misma red local que tu Mac.

Configurar Screens Connect

Si usas Screens Connect, abre sus ajustes, selecciona General y activa Use Remote Login.

Esto garantiza que Screens Connect configure las conexiones remotas para usar SSH en lugar de conectarse directamente al servicio de Screen Sharing.

Restringir Screen Sharing a conexiones locales

Una vez configurados Remote Login y las opciones SSH anteriores, abre Terminal en el Mac e introduce:

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

Introduce la contraseña de tu cuenta de usuario de Mac cuando se te solicite.

El ajuste VNCOnlyLocalConnections indica a macOS Screen Sharing que acepte conexiones VNC directas solo desde localhost.

Esto significa que:

Revertir el cambio

Si quieres que macOS Screen Sharing vuelva a aceptar conexiones de red directamente, abre Terminal e introduce:

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

Espera unos segundos a que macOS aplique el cambio antes de intentar conectarte de nuevo.

Una vez que el cambio surta efecto, Screens podrá volver a conectarse directamente al servicio de Screen Sharing (VNC), incluso a través de tu red local o de una VPN, sin necesidad de un túnel SSH.

Después podrás desactivar los ajustes específicos de SSH en Screens y Screens Connect si ya no quieres usar conexiones seguras.

Importante: una vez que Screen Sharing se restrinja a localhost, Screens deberá usar SSH para cada conexión a este Mac, incluso cuando tu dispositivo esté en la misma red local o el Mac aparezca en Nearby.

Sin Enable on Local Connections, las conexiones locales intentarán conectarse directamente al servicio VNC y fallarán.

¿Aún necesitas ayuda?

Envíanos un correo electrónico