The Computer Oracle

How to enable remote access for another account on Mac remotely via SSH?

--------------------------------------------------
Rise to the top 3% as a developer or hire one of them at Toptal: https://topt.al/25cXVn
--------------------------------------------------

Music by Eric Matyas
https://www.soundimage.org
Track title: Hypnotic Puzzle2

--

Chapters
00:00 How To Enable Remote Access For Another Account On Mac Remotely Via Ssh?
00:19 Accepted Answer Score 20
01:23 Answer 2 Score 14
01:38 Answer 3 Score 9
02:17 Answer 4 Score 5
03:15 Thank you

--

Full question
https://superuser.com/questions/166179/h...

--

Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...

--

Tags
#macos #mac #ssh #remoteaccess #administration

#avk47



ACCEPTED ANSWER

Score 20


SSH access by users is controlled by the local copy of Directory Services. (Controlled using dscl)

First off run dscl . list /Groups | grep 'access_ssh'. If the returned value says com.apple.access_ssh-disabled then all users have SSH access. If not, then we need to give the user access.

To add the user you need to run:

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

(replace USERNAME with the short username of the user) as well as:

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

(replace USERNAME with short username as well)

(The last bit is thanks to Reed Stoner on lists.apple.com)

To add/enable Remote Management for only specific users (Add VNC flags from ghoppe's answer if you want 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

Find out more by running sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -h




ANSWER 2

Score 14


Based on Chealion's answer, I came up with this to allow ALL users to ssh in:

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



ANSWER 3

Score 9


ssh access is granted to members of the com.apple.access_ssh group. This is the group that you're editing when you make access modifications to the Remote Login service through the Sharing pref pane.

While dscl can be use to edit group memberships (as described in other answers), dseditgroup is a cleaner way to modify the com.apple.access_ssh group memberships from the command line.

to add a user:

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

to remove a user:

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



ANSWER 4

Score 5


Enable Remote Desktop via command line:

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

Turn off screen sharing:

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

EDIT

OK, I may have misunderstood your question. By "Remote Access" I presumed you meant remote desktop, but now I see you just want to enable ssh access for the other account, right?

My answer gets you halfway there. After enabling Remote Desktop as shown, then connect with the remote Mac to change the user's ssh access via System Prefs.

To connect to the remote Mac, go to the Finder and select Connect to Server… under the Go menu. type in the Server Address for your computer:

vnc://x.x.x.x

Where x.x.x.x is the remote computer's IP address or URI. Since you connected with ssh, I presume you already know this.

Now you can use the Remote Desktop to navigate to System Prefs > Accounts and click the box to allow the other account to log in to the computer…