22

У меня есть права администратора на удаленном компьютере Mac. Я могу получить к нему доступ через SSH. Mac имеет другую учетную запись пользователя, которая не имеет удаленного доступа. Как я могу удаленно (через SSH) включить удаленный доступ для другой учетной записи?

4 ответа4

19

Доступ пользователей по 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

11

Основываясь на ответе Chealion, я придумал это, чтобы позволить ВСЕМ пользователям войти в ssh:

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

Включить удаленный рабочий стол через командную строку:

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, я полагаю, вы уже знаете это.

Теперь вы можете использовать удаленный рабочий стол, чтобы перейти к «Системные настройки»> «Учетные записи» и установить флажок, чтобы разрешить другой учетной записи войти в систему на компьютере

5

Доступ по 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .