Answers:
用户的SSH访问由目录服务的本地副本控制。(使用控制dscl
)
首先出发dscl . list /Groups | grep 'access_ssh'
。如果返回值表明com.apple.access_ssh-disabled
所有用户都具有SSH访问权限。如果没有,那么我们需要授予用户访问权限。
要添加用户,您需要运行:
sudo dscl . append /Groups/com.apple.access_ssh user USERNAME
(将USERNAME替换为用户的简短用户名),以及:
sudo dscl . append /Groups/com.apple.access_ssh groupmembers `dscl . read /Users/USERNAME GeneratedUID | cut -d " " -f 2`
(也用短用户名替换USERNAME)
(最后一点要感谢list.apple.com上的Reed Stoner)
要仅为特定用户添加/启用远程管理(如果需要VNC,请从ghoppe的答案中添加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
通过运行了解更多信息 sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -h
dscl . append /Groups/com.apple.access_ssh GroupMembership <username>
通过命令行启用远程桌面:
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
关闭屏幕共享:
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -configure -access -off
编辑
好吧,我可能误会了你的问题。通过“远程访问”,我假设您的意思是远程桌面,但是现在我看到您只想为另一个帐户启用ssh访问,对吗?
我的回答使您半途而废。如图所示启用远程桌面后,然后与远程Mac连接以通过System Prefs更改用户的ssh访问。
要连接到远程Mac,请转到Finder,然后Connect to Server…
在“转到”菜单下选择。输入您计算机的服务器地址:
vnc://x.x.x.x
其中xxxx是远程计算机的IP地址或URI。由于您与ssh连接,因此我想您已经知道这一点。
现在,您可以使用远程桌面导航到“系统偏好设置”>“帐户”,然后单击该框以允许其他帐户登录到计算机…
ssh
授予该com.apple.access_ssh
组成员访问权限。通过“ 共享”首选项窗格对“ 远程登录”服务进行访问权限修改时,您正在编辑的组。
虽然dscl
可以用来编辑组成员身份(如其他答案中所述),但是它dseditgroup
是一种com.apple.access_ssh
从命令行修改组成员身份的更干净的方法。
添加用户:
sudo dseditgroup -o edit -t user -a USERNAME com.apple.access_ssh
删除用户:
sudo dseditgroup -o edit -t user -d USERNAME com.apple.access_ssh