Настройка sshd для запуска при загрузке на OSX El Capitan

1395
kpaleniu

У меня есть настройки, где у меня есть OSX машина в качестве сервера. ОС - это OSX El Capitan. Одной из услуг, которые это должно иметь, является sshd. Проблема, которую я пытаюсь решить, заключается в том, что когда я перезагружаюсь, мне нужно физически перейти на сервер, чтобы войти в систему, чтобы получить sshd и remoting для запуска. Как мне избавиться от этого ненужного шага? Я уже включил общий доступ к экрану и удаленный вход из общего доступа в системных настройках. Эти настройки влияют только на то, что происходит, когда хотя бы один пользователь вошел в систему.

Я подумал, что launchdLaunchDaemons, по крайней мере, в принципе, должен запускаться независимо от того, есть ли кто-нибудь на самом деле вошли физически. Однако я не уверен, установлен ли sshd в качестве LaunchAgent или LaunchDaemon. Кроме того, я подозреваю, что вам нужно создать отдельного пользователя и группу, sshdесли вы собираетесь запускать его как LaunchDaemon.

Одним из усложняющих факторов также является FileVault. Вы можете (хотя я не буду, если это вообще возможно) настроить одного пользователя для автоматического входа. Похоже, что этого нельзя сделать, если вы включили FileVault, поскольку он, похоже, шифрует домашние каталоги. Это, очевидно, усложняет ssh логины. Похоже, что для расшифровки требуется физический вход.

Это один из случаев, когда вам действительно нужен OSX Server?

1
Причина № 1519485, почему OSX является очень неоптимальной серверной операционной системой. (и это от парня, который использовал OSX в качестве основной ОС для своей рабочей станции в течение 6 лет). EEAA 8 лет назад 2

2 ответа на вопрос

3
Gordon Davisson

SSH runs as a launch daemon on OS X, meaning that when it's turned on it's available whether or not anyone's logged in.

It sounds like you have FileVault turned on; if so, that prevents the OS from starting up until a user authenticates and unlocks the system volume. It's not just SSH, it's the entire OS.

Basically, FileVault does not allow unattended startup. If you need unattended startup, you need to turn off FileVault.

0
techraf

From your description it sounds like you need to unlock FileVault disk encryption to get the OS running.

If you want to reboot a machine remotely and have it automatically unlock the disk encryption, you need to use authenticated restart.

In short you need to issue the following command and provide the administrative password (usually twice: once for sudo, once for unlocking the / drive):

sudo fdesetup authrestart 

after the command the machine will reboot without the need to enter the password. SSH and other deamons will be subsequently brough up.