Как включить удаленный доступ для другой учетной записи на Mac удаленно через SSH?
23
У меня есть права администратора на удаленном компьютере Mac. Я могу получить к нему доступ через SSH. Mac имеет другую учетную запись пользователя, которая не имеет удаленного доступа. Как я могу удаленно (через SSH) включить удаленный доступ для другой учетной записи?
Доступ пользователей по 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 коротким именем пользователя), а также:
@Andrei: добавьте флаг -users после -configure со списком пользователей. Я добавил это в свой ответ.
Chealion
4
Кажется, что структура access_ssh со временем изменилась. Ключ 'user' в первой команде dscl теперь должен быть GroupMembership. Вторая команда dscl, добавляющая UID к участникам группы, все еще действительна.
Эрик
2
Эрик прав - @Chealion, не могли бы вы обновить свой ответ, изменив команду наdscl . append /Groups/com.apple.access_ssh GroupMembership <username>
rfay
2
Я на 10.11.5 и команды не жалуются, но пользователь все еще не может ssh. РЕДАКТИРОВАТЬ: попробовал это, и это сработало: support.apple.com/kb/PH18726
Jayen
1
Хотя этот ответ все еще может работать, ответ @ teppic предоставляет более правильный метод с использованием специального инструмента для редактирования групп dseditgroup.
Endareth
12
Основываясь на ответе Chealion, я придумал это, чтобы позволить ВСЕМ пользователям войти в ssh:
Хорошо, я, возможно, неправильно понял ваш вопрос. Под «Удаленным доступом» я предположил, что вы имели в виду удаленный рабочий стол, но теперь я вижу, что вы просто хотите включить ssh-доступ для другой учетной записи, верно?
Мой ответ поможет вам на полпути. После включения Remote Desktop, как показано, затем подключитесь к удаленному Mac, чтобы изменить ssh-доступ пользователя через Системные настройки.
Чтобы подключиться к удаленному Mac, перейдите в Finder и выберите Connect to Server…в меню «Перейти». введите адрес сервера для вашего компьютера:
vnc://x.x.x.x
Где xxxx - это IP-адрес или URI удаленного компьютера. Поскольку вы связаны с SSH, я полагаю, вы уже знаете это.
Теперь вы можете использовать удаленный рабочий стол, чтобы перейти к «Системные настройки»> «Учетные записи» и установить флажок, чтобы разрешить другой учетной записи войти в систему на компьютере…
Нужно ли устанавливать удаленный рабочий стол Apple на удаленный Mac? Что мне делать после первой команды?
Андрей
1
Удаленный рабочий стол уже установлен в Системе. Я отредактирую свой ответ для инструкций удаленного рабочего стола. К сожалению. Возможно, я неправильно понял ваш вопрос ...
ghoppe
В любом случае, что мне нужно делать после первой команды, если я использую другой Mac для доступа к удаленному?
Андрей
2
Отредактировал мой ответ. Может быть способ включить ssh-доступ через командную строку, поэтому вам не нужно делать это через удаленный рабочий стол, но этот метод тоже должен работать.
ghoppe
Первая команда делает что-то подозрительное - она меняет другие учетные записи, не только мою. Можно ли изменить его таким образом, чтобы другие учетные записи не затрагивались?
Андрей
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
dscl . append /Groups/com.apple.access_ssh GroupMembership <username>
Основываясь на ответе Chealion, я придумал это, чтобы позволить ВСЕМ пользователям войти в ssh:
источник
Включить удаленный рабочий стол через командную строку:
Отключить совместное использование экрана:
РЕДАКТИРОВАТЬ
Хорошо, я, возможно, неправильно понял ваш вопрос. Под «Удаленным доступом» я предположил, что вы имели в виду удаленный рабочий стол, но теперь я вижу, что вы просто хотите включить ssh-доступ для другой учетной записи, верно?
Мой ответ поможет вам на полпути. После включения Remote Desktop, как показано, затем подключитесь к удаленному Mac, чтобы изменить ssh-доступ пользователя через Системные настройки.
Чтобы подключиться к удаленному Mac, перейдите в Finder и выберите
Connect to Server…
в меню «Перейти». введите адрес сервера для вашего компьютера:Где xxxx - это IP-адрес или URI удаленного компьютера. Поскольку вы связаны с SSH, я полагаю, вы уже знаете это.
Теперь вы можете использовать удаленный рабочий стол, чтобы перейти к «Системные настройки»> «Учетные записи» и установить флажок, чтобы разрешить другой учетной записи войти в систему на компьютере…
источник
ssh
доступ предоставляется членамcom.apple.access_ssh
группы. Это группа, которую вы редактируете, когда вносите изменения в службу удаленного входа через преф-панель « Общий доступ» .Хотя
dscl
можно использовать для редактирования членства в группах (как описано в других ответах),dseditgroup
это более чистый способ измененияcom.apple.access_ssh
членства в группах из командной строки.чтобы добавить пользователя:
удалить пользователя:
источник