Come abilitare l'accesso remoto per un altro account su Mac in remoto tramite SSH?


23

Ho i diritti di amministratore su un computer Mac remoto. Posso accedervi tramite SSH. Il Mac ha un altro account utente, che non ha accesso remoto. Come posso abilitare in remoto (tramite SSH) l'accesso remoto per l'altro account?

Risposte:


19

L'accesso SSH da parte degli utenti è controllato dalla copia locale dei servizi di directory. (Controllato usando dscl)

Prima di tutto, corri dscl . list /Groups | grep 'access_ssh'. Se il valore restituito indica che com.apple.access_ssh-disabledtutti gli utenti hanno accesso SSH. In caso contrario, dobbiamo dare l'accesso all'utente.

Per aggiungere l'utente è necessario eseguire:

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

(sostituisci USERNAME con il nome utente breve dell'utente) nonché:

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

(sostituisci USERNAME anche con un nome utente breve)

(L'ultimo bit è grazie a Reed Stoner su lists.apple.com )

Per aggiungere / abilitare la gestione remota solo per utenti specifici (aggiungere flag VNC dalla risposta di ghoppe se si desidera 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

Scopri di più correndo sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -h


1
@Andrei: aggiungi il flag -users dopo -configure con l'elenco degli utenti. L'ho aggiunto alla mia risposta.
Chealion,

4
Sembra che la struttura di access_ssh sia cambiata nel tempo. La chiave 'utente' nel primo comando dscl dovrebbe ora essere GroupMembership. Il secondo comando dscl che aggiunge l'UID ai membri del gruppo è ancora valido.
Erik,

2
Erik ha ragione - @Chealion, potresti aggiornare la tua risposta cambiando il comando indscl . append /Groups/com.apple.access_ssh GroupMembership <username>
rfay

2
Sono al 10.11.5 e i comandi non si lamentano, ma l'utente non può ancora ssh. EDIT: provato questo e ha funzionato: support.apple.com/kb/PH18726
Jayen

1
Mentre questa risposta può ancora funzionare, la risposta di @ teppic fornisce un metodo più corretto utilizzando lo strumento specifico per la modifica dei gruppi dseditgroup.
Endareth,

12

Sulla base della risposta di Chealion, ho pensato a questo per consentire a TUTTI gli utenti di scrivere:

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

5

Abilita Desktop remoto tramite riga di 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

Disattiva la condivisione dello schermo:

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

MODIFICARE

OK, potrei aver frainteso la tua domanda. Per "Accesso remoto" ho supposto che intendevi desktop remoto, ma ora vedo che vuoi solo abilitare l'accesso ssh per l'altro account, giusto?

La mia risposta ti porta a metà strada. Dopo aver abilitato Desktop remoto come mostrato, quindi connettiti al Mac remoto per modificare l'accesso ssh dell'utente tramite Preferenze di Sistema.

Per connetterti al Mac remoto, vai al Finder e seleziona Connect to Server…nel menu Vai. digitare l'indirizzo del server per il computer:

vnc://x.x.x.x

Dove xxxx è l'indirizzo IP o l'URI del computer remoto. Dato che ti sei collegato a SSH, presumo che tu lo sappia già.

Ora puoi utilizzare Desktop remoto per accedere a Preferenze di sistema> Account e fare clic sulla casella per consentire all'altro account di accedere al computer ...


Devo avere Apple Remote Desktop installato sul Mac remoto? Cosa devo fare dopo il primo comando?
Andrei,

1
Desktop remoto è già installato nel sistema. Modificherò la mia risposta per le istruzioni di Desktop remoto. Ops. Potrei aver frainteso la tua domanda ...
Ghoppe,

Comunque, cosa devo fare dopo il primo comando, supponendo che sto usando un altro Mac per accedere a quello remoto?
Andrei,

2
Modificato la mia risposta. Potrebbe esserci un modo per abilitare l'accesso ssh dalla riga di comando, quindi non è necessario farlo tramite Desktop remoto, ma anche questo metodo dovrebbe funzionare.
ghoppe,

Il primo comando fa qualcosa di sospetto: cambia altri account, non solo il mio. Può essere modificato in modo tale che altri account non siano interessati?
Andrei,

5

sshl'accesso è concesso ai membri del com.apple.access_sshgruppo. Questo è il gruppo che stai modificando quando apporti modifiche all'accesso al servizio Accesso remoto tramite il riquadro Prefazione di condivisione .

Sebbene dsclpossa essere utilizzato per modificare le appartenenze ai gruppi (come descritto in altre risposte), dseditgroupè un modo più pulito di modificare le com.apple.access_sshappartenenze ai gruppi dalla riga di comando.

per aggiungere un utente:

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

per rimuovere un utente:

sudo dseditgroup -o edit -t user -d USERNAME com.apple.access_ssh
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.