Línea de comando: habilitar el inicio de sesión remoto y la administración remota

Para mi trabajo, antes de implementar una nueva computadora portátil Mac, necesito habilitar estas dos configuraciones:

  1. Preferencias del sistema - Compartir - Inicio de sesión remoto. Una vez habilitado, también necesito agregar la cuenta de administrador que he creado anteriormente seleccionando el pequeño símbolo + en Solo estos usuarios:

  2. Preferencias del sistema - Compartir - Gestión remota - (aparece la pequeña ventana emergente) y selecciono todas las funciones

¿Cómo logro los dos procesos anteriores a través de la línea de comando?

¿Qué solución de implementación utiliza? ¿DeployStudio, Casper o scripts?
ninguno de los dos. simplemente entro en la máquina para hacer cosas. Pero necesito habilitar los dos pasos anteriores antes de hacerlo por diferentes razones.

Respuestas (2)

La modificación de la configuración de inicio de sesión remoto y administración remota se realiza con dos comandos diferentes, ambos ejecutados como root:

  • configuración del sistema
  • puntapié inicial

Para habilitar el inicio de sesión remoto para los miembros del grupo de administración, ingrese:

sudo systemsetup -setremotelogin on

Para restringir el uso del acceso dseditgroup. Primero verifique si existe y agréguelo si es necesario:

dseditgroup com.apple.access_ssh
dseditgroup -o create -q com.apple.access_ssh

y agregue un grupo de usuarios:

sudo dseditgroup -o edit -a admin -t group com.apple.access_ssh

Para habilitar la administración remota para usuarios administradores, ingrese:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -users admin -privs -all -restart -agent -menu

Para consultar otras opciones ingresa:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help
desde 10.14 no puede habilitar a través de ssh. Si se conecta a través de ssh, obtiene: Advertencia: macos 10.14 y versiones posteriores solo permiten el control si la pantalla compartida está habilitada a través de las Preferencias del sistema.

Habilitación de SSH:

$ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

Deshabilitar SSH:

$ sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist

(la alternativa, systemsetupestá en desuso)

This command still works, but it is deprecated. Please use launchctl(8) instead.
Muy útil. Tenía un script, ejecutándose como root, que usaba el comando systemsetup. Sin embargo, en Catalina, no funcionaba, ya que necesitaba Acceso total al disco (SystemPolicyAllFiles) pero no tenía forma de solicitarlo al usuario. Usar el comando launchctl funcionó perfectamente.
exactamente @TimDearborn: también se necesita "Acceso total al disco" para desactivar esa función, lo considero un defecto
systemsetupque yo sepa, ya no está en desuso (no puedo encontrarlo depen la página de manual en ninguna parte) y no recibo ningún mensaje como ese cuando lo ejecuto. Además, no vea un aviso de que se necesita Acceso total al disco (esto es al menos en Big Sur y Monterey). Además, launchctl loadse considera legado a partir de 'Yosemite'. En su lugar, debería estar usando sudo launchctl bootstrap system ....