¿Cómo ssh y administrar de forma remota las GUI en mi iMac con inicio de sesión/administración remota?

Tengo problemas para poder controlar completamente mi computadora de forma remota. Por completo, me refiero a poder {administrar archivos, acceder a la terminal, acceder a la GUI, iniciar sesión} todo sin permitir que un usuario local tome el control.

Necesito poder controlar la pantalla, para ejecutar un programa de instalación, por ejemplo. El problema que tengo con la pantalla compartida y el escritorio remoto es que el usuario local puede verme iniciar sesión y luego tomar el control con el mouse. Luego se registran en mi cuenta administrativa. Tampoco pueden usar su cuenta mientras estoy conectado a la mía. ¿Cómo evito esto?

Otro problema que tengo es que, si bien se puede acceder a la computadora remota a través de una IP pública y aparece en Finder en la LAN, no parece haber una manera de encontrar la computadora de forma remota a través de iCloud. El inicio de sesión remoto es un programa de ejemplo que hace esto. Incluso si mantuve un registro de dónde se conectó la computadora a Internet, la dirección IP puede cambiar. ¿Hay alguna manera de encontrar la computadora basada en la cuenta en lugar de la dirección de red?

ingrese la descripción de la imagen aquí

En resumen, quiero:
1. Ser capaz de ejecutar un instalador de GUI aislado de forma segura de los usuarios locales.
2. Ser capaz de acceder a la cuenta de administrador aislada de forma segura de los usuarios locales.
3. Ser capaz de ubicar mi computadora para conectarme de manera tan confiable como lo hace "Buscar mi Mac", usando algo confiable como mi cuenta de iCloud en lugar de una dirección de red que puede cambiar.

Respuestas (3)

Apple Remote Desktop (ARD) tiene un modo Cortinas que impide que el usuario local vea lo que sucede en la pantalla. Puede satisfacer sus necesidades. https://www.apple.com/remotedesktop/remoteassistance.html

Supongo que eso proporciona una respuesta parcial a 1, seguro, pero ¿qué pasa con 2 y 3? ¿Obliga a los usuarios locales a no poder trabajar?
Para la parte 2, sí, puede enviar comandos SSH a la computadora de destino desde ARD. Para la parte 3, parece que puedes usar ARD iCloud en mi Mac apple.stackexchange.com/questions/107399/…
No necesita ARD para hacer el n.° 2 y el n.° 3. También relacionado: apple.stackexchange.com/questions/53719/…
Tampoco necesita ARD para el n. ° 1

En lugar de los métodos propuestos, puede iniciar sesión mientras otro usuario está conectado e iniciar una nueva sesión en lugar de compartir la pantalla. Esto no será visible ni accesible para el usuario local. Use vnc://<mac name or ip>desde la ventana Conectar en Finder para conectarse al sistema. No estoy seguro de poder cargar una imagen de forma permanente, pero el cuadro de diálogo que se muestra le preguntará si desea compartir la sesión del otro usuario o iniciar sesión en una nueva como usted mismo. Esto solo funciona si el usuario local no es el mismo usuario con el que intenta iniciar sesión.

puede compartir la sesión existente o crear una nueva

Esto funciona de manera muy similar al cambio rápido de usuario, pero en lugar de cambiar de cuenta localmente, ¡puede usarlas de forma simultánea, local y remota! Esto también significa que puede acercarse a la computadora y cerrar la sesión del usuario actual o regresar a la ventana de inicio de sesión y se verá en la lista con la sesión iniciada actualmente. Esto también le permite controlar localmente su sesión remota si así lo desea.

Acceso remoto fuera de la red

Si necesita acceso remoto desde fuera de la red, es un trato diferente. Y si tampoco sabes la dirección, también es un problema. La funcionalidad que propone se usa generalmente en redes comerciales donde existe un sistema administrativo local. Si solo tiene un solo sistema en algún lugar remoto (es decir, una sola Mac en algún lugar de la casa), es posible que pueda manejarlo usando iCloud, con la función "Volver a mi Mac". Otra forma sería el reenvío de puertos de la conexión VNC, pero eso deja un gran agujero de seguridad y no se recomienda. También puede usar túneles SSH, lo que significa que solo tiene que dejar abierto el puerto SSH y luego, en la línea de comando, simplemente reenvía el puerto VPN remoto a través de esa conexión segura, así:

ssh user@mac-somewhere-else -L1234:localhost:5900

Luego, mientras deja eso abierto en la terminal, lo usa vnc://localhost:1234en el cuadro de diálogo Conectar a del Finder (Comando-K) y esto usará el túnel SSH a la otra Mac.

Sin embargo, si tiene como objetivo muchas máquinas remotas o máquinas o sistemas móviles a los que no puede acceder directamente, necesitará instalar un agente especial que utilice NAT transversal a través de un servicio de terceros. Las herramientas mencionadas anteriormente hacen esto, es decir, LogMeIn, TeamViewer y tipos similares.

Si tiene varias redes remotas a las que acceder regularmente, considere usar conexiones VPN. Esto le permite conectarse a la red de forma remota y acceder a los recursos que contiene.

Una tercera alternativa para acceder a redes remotas es usar un jump box o un host bastión. Podría ser un Mac Mini simple que tenga una dirección IP estática y SSH (o tal vez incluso una VPN) y primero inicie sesión en él y haga un túnel VNC hacia él. Luego, en esa Mac, usa la barra lateral del Finder para descubrir automáticamente todos los demás sistemas en la red.

Para tener un mejor conjunto de opciones para resolver esto, necesitaremos más información sobre los casos de uso y a qué redes, etc., realmente desea conectarse.

¿Se refiere específicamente a "Administración remota"? Creo que eso podría responder completamente a la pregunta 1 y está integrado, a diferencia de "Escritorio remoto", que tendría que comprar. Sin embargo, ¿qué pasa con el cambio de dirección IP? ¿Cómo encuentro realmente la computadora de forma remota en primer lugar? No veo mi otra computadora listada en Finder cuando estoy en una ubicación remota.
Agregué algunas opciones de acceso remoto, pero realmente depende de los sistemas 'remotos' a los que intenta acceder.

Respondiendo a sus preguntas en orden....

  1. A menos que esté dispuesto a pagar por una aplicación premium como ARD o LogMeIn , no obtendrá esas funciones.

Como se menciona en otra respuesta, ARD tiene " Modo de cortina " -

Para esos momentos en los que desea que sus acciones estén ocultas para el usuario final, existe el modo de cortina. Esto le permite bloquear la vista con una cortina virtual, mientras conserva el control total de la pantalla. Es perfecto para aquellos que trabajan en sistemas orientados al público.

LogMeIn tiene una función de borrado de la pantalla del host :

Proteja sus datos dejando en blanco la pantalla del host durante una sesión de control remoto.

Bloquee el teclado y el mouse del host para evitar que cualquier persona sentada en la máquina host ingrese datos durante una sesión de control remoto.

Yo personalmente uso Teamviewer y aunque esta opción está disponible en Windows, no está disponible en macOS o Linux. Aparentemente tiene algo que ver con cómo (fácilmente) Windows maneja DPMS (Display Power Management Systems) y cómo (mal) lo implementa macOS/Linux.

(hablando por experiencia, el modo de cortina de ARD era "dudoso" en el mejor de los casos)

  1. De forma predeterminada, puede ingresar a cualquier cuenta (la raíz es la excepción notable) siempre que tenga habilitado el inicio de sesión remoto. Puede iniciar sesión mientras alguien más está sentado en la máquina sin que ellos sepan que usted estuvo allí. Esto es por defecto. Si necesita acceso de root, cree una cuenta de "administrador" y suhaga root o emita comandos a través de sudo.

  2. Para encontrar su computadora de manera confiable, use DDNS (DNS dinámico) y asígnele a su computadora un FQDN como (foobar.dyndnsprovier.com).

freedns.Afraid.org proporciona un buen servicio DynDNS gratuito que puede utilizar para acceder a su computadora (o red doméstica) incluso si su dirección IP cambia. En su caso, necesitará ejecutar un script vía launchd(o chron) que actualice la IP periódicamente. Una vez que tenga eso en su lugar, puede acceder a su computadora presionando el FQDN (foobar.dyndnsprovider.com). El script y cómo implementarlo en su máquina está fuera del alcance de esta respuesta.

ADVERTENCIA IMPORTANTE : si la máquina está detrás de un firewall que no controla y no permite el tráfico SSH o no lo tiene asignado a su IP o puerto, no tiene suerte, esto no funcionará. Siga con LogMeIn o TeamViewer.

Acerca de su advertencia, cualquier tipo de información se puede envolver dentro de cualquier protocolo, solo tiene que haber soporte para la codificación y decodificación. Entonces, si es posible algún tipo de conexión, como "LogMeIn", entonces esto prueba que, en teoría, puedo identificar, conectar y enviar información de forma segura y, por lo tanto, empaquetar ssh o cualquier otro tipo de información para interactuar con la máquina de manera completa. . ¿Está diciendo que las herramientas gratuitas integradas simplemente no están diseñadas para hacer esto?
LogMeIn opera "encontrándose" con el cliente/remoto "en la nube", por así decirlo, no por IP; el cliente no tiene idea de dónde está el control remoto. La advertencia de la que hablo es usar un FQDN para conectarse. Independientemente del protocolo que se utilice, ¿cómo hará que la máquina con NAT inicie una conexión?