¿Cómo habilitar el acceso remoto para otra cuenta en Mac de forma remota a través de SSH?


23

Tengo derechos de administrador en una computadora Mac remota. Puedo acceder a través de SSH. La Mac tiene otra cuenta de usuario, que no tiene acceso remoto. ¿Cómo puedo habilitar remotamente (a través de SSH) el acceso remoto para la otra cuenta?

Respuestas:


19

El acceso SSH de los usuarios está controlado por la copia local de los Servicios de directorio. (Controlado usando dscl)

Primero fuera de carrera dscl . list /Groups | grep 'access_ssh'. Si el valor devuelto dice, com.apple.access_ssh-disabledentonces todos los usuarios tienen acceso SSH. Si no, entonces debemos darle acceso al usuario.

Para agregar el usuario que necesita ejecutar:

sudo dscl . append /Groups/com.apple.access_ssh user USERNAME

(reemplace USERNAME con el nombre de usuario corto del usuario) y también:

sudo dscl . append /Groups/com.apple.access_ssh groupmembers `dscl . read /Users/USERNAME GeneratedUID | cut -d " " -f 2`

(reemplace USERNAME con un nombre de usuario corto también)

(Lo último es gracias a Reed Stoner en lists.apple.com )

Para agregar / habilitar la administración remota solo para usuarios específicos (agregue indicadores VNC de la respuesta de ghoppe si desea VNC):

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -users short,usernames,seperated,by,commas -access -on -restart -agent -privs -all -allowAccessFor -specifiedUsers

Obtenga más información ejecutando sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -h


1
@Andrei: agregue el indicador -users después de -configure con la lista de usuarios. Lo he agregado a mi respuesta.
Chealion

44
Parece que la estructura de access_ssh ha cambiado con el tiempo. La clave 'usuario' en el primer comando dscl ahora debería ser GroupMembership. El segundo comando dscl que agrega el UID a los miembros del grupo sigue siendo válido.
Erik

2
Erik tiene razón: @Chealion, ¿podría actualizar su respuesta cambiando el comando adscl . append /Groups/com.apple.access_ssh GroupMembership <username>
Rfay

2
Estoy en 10.11.5 y los comandos no se quejan, pero el usuario todavía no puede ssh. EDITAR: probé esto y funcionó: support.apple.com/kb/PH18726
Jayen

1
Si bien esta respuesta aún puede funcionar, la respuesta de @ teppic proporciona un método más correcto utilizando la herramienta específica para editar grupos dseditgroup.
Endareth

12

Basado en la respuesta de Chealion, se me ocurrió esto para permitir que TODOS los usuarios ingresen:

dscl . change /Groups/com.apple.access_ssh RecordName com.apple.access_ssh com.apple.access_ssh-disabled

5

Habilitar Escritorio remoto a través de la línea de comando:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw mypasswd -restart -agent -privs -all

Desactiva el uso compartido de pantalla:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -configure -access -off

EDITAR

Bien, puedo haber entendido mal tu pregunta. Por "acceso remoto" supuse que te referías al escritorio remoto, pero ahora veo que solo quieres habilitar el acceso ssh para la otra cuenta, ¿verdad?

Mi respuesta te lleva a medio camino. Después de habilitar Remote Desktop como se muestra, luego conéctese con la Mac remota para cambiar el acceso ssh del usuario a través de System Prefs.

Para conectarse a la Mac remota, vaya al Finder y seleccione Connect to Server…en el menú Ir. escriba la dirección del servidor para su computadora:

vnc://x.x.x.x

Donde xxxx es la dirección IP o URI de la computadora remota. Como te conectaste con ssh, supongo que ya lo sabes.

Ahora puede usar el Escritorio remoto para navegar a Preferencias del sistema> Cuentas y hacer clic en el cuadro para permitir que la otra cuenta inicie sesión en la computadora ...


¿Necesito tener Apple Remote Desktop instalado en la Mac remota? ¿Qué debo hacer después del primer comando?
Andrei

1
Escritorio remoto ya está instalado en el sistema. Editaré mi respuesta para las instrucciones de Escritorio remoto. Ups Puede que haya entendido mal su pregunta ...
ghoppe

De todos modos, ¿qué debo hacer después del primer comando, suponiendo que estoy usando otra Mac para acceder al remoto?
Andrei

2
Edité mi respuesta. Puede haber una forma de habilitar el acceso ssh a través de la línea de comandos para que no tenga que hacerlo a través del Escritorio remoto, pero este método también debería funcionar.
ghoppe

El primer comando hace algo sospechoso: cambia otras cuentas, no solo mi. ¿Se puede modificar de tal manera que otras cuentas no se vean afectadas?
Andrei

5

sshSe otorga acceso a los miembros del com.apple.access_sshgrupo. Este es el grupo que está editando cuando realiza modificaciones de acceso al servicio de Inicio de sesión remoto a través del panel de preferencias Compartir .

Si bien dsclse puede usar para editar membresías de grupo (como se describe en otras respuestas), dseditgroupes una forma más limpia de modificar las com.apple.access_sshmembresías de grupo desde la línea de comandos.

para agregar un usuario:

sudo dseditgroup -o edit -t user -a USERNAME com.apple.access_ssh

para eliminar un usuario:

sudo dseditgroup -o edit -t user -d USERNAME com.apple.access_ssh
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.