У меня есть права администратора на удаленном компьютере Mac. Я могу получить к нему доступ через SSH. Mac имеет другую учетную запись пользователя, которая не имеет удаленного доступа. Как я могу удаленно (через SSH) включить удаленный доступ для другой учетной записи?
4 ответа
Доступ пользователей по 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 на короткое имя пользователя)
(Последнее немного благодаря Риду Стоунеру на lists.apple.com)
Чтобы добавить / включить удаленное управление только для определенных пользователей (добавьте флаги 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
Основываясь на ответе Chealion, я придумал это, чтобы позволить ВСЕМ пользователям войти в ssh:
dscl . change /Groups/com.apple.access_ssh RecordName com.apple.access_ssh com.apple.access_ssh-disabled
Включить удаленный рабочий стол через командную строку:
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, чтобы изменить 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