Что означает «без пароля» в файле sshd_config?

Я только что установил Ubuntu 14.04 на свой сервер, и я настраивал все свои файлы конфигурации, когда сталкивался с этим в файле sshd_config :

 # Authentication: LoginGraceTime 120 PermitRootLogin without-password StrictModes yes 

Это меня очень беспокоило. Я думал, что возможно, что кто-то может войти на мой сервер как root без пароля.

Я попытался подключиться к моему серверу через root:

 johns-mbp:~ john$ ssh root@192.168.1.48 The authenticity of host '192.168.1.48 (192.168.1.48)' can't be established. RSA key fingerprint is 40:7e:28:f1:a8:36:28:da:eb:6f:d2:d0:3f:4b:4b:fe. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.48' (RSA) to the list of known hosts. root@192.168.1.48's password: 

Я ввел пустой пароль, и это меня не пустило, что было облегчением. Поэтому мой вопрос: что означает без пароля и почему это является дефолтом в Ubuntu 14.04?

С manpage :

PermitRootLogin

Указывает, может ли root войти в систему, используя ssh (1). Аргумент должен быть «да», «без пароля», «принудительные команды только» или «нет». По умолчанию «да».

Если для этой опции установлено значение «без пароля», аутентификация по паролю отключена для root.

Если для этой опции установлено значение только «принудительные команды», root-авторизация с аутентификацией с открытым ключом будет разрешена, но только если указан параметр команды (что может быть полезно для удаленных резервных копий, даже если корневой вход обычно не разрешен ). Все остальные методы проверки подлинности отключены для root.

Если для этого параметра установлено значение «нет», root не может войти в систему.

Таким образом, without-password разрешается вход root только с аутентификацией с открытым ключом. Это часто используется со сценариями оболочки и автоматическими задачами.

Фактически этот параметр почти ничего не делает, если вы используете аутентификацию PAM. В нижней части конфигурационного файла sshd_config вы найдете:

 # Set this to 'yes' to enable PAM authentication, account processing, # and session processing. If this is enabled, PAM authentication will # be allowed through the ChallengeResponseAuthentication and # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication via ChallengeResponseAuthentication may bypass # the setting of "PermitRootLogin without-password". # If you just want the PAM account and session checks to run without # PAM authentication, then enable this but set PasswordAuthentication # and ChallengeResponseAuthentication to 'no'. 

По умолчанию для Ubuntu используется использование проверки подлинности PAM:

 UsePAM yes 

Обратите внимание, что есть законные причины входа в систему через root (но с использованием криптографических ключей и никогда не пароль). Типичным примером является дистанционная синхронизация двух серверов (чтобы один из них использовался как отказ). Поскольку структура должна быть идентичной, часто требуется пароль root.

Ниже приведен пример использования унисона для синхронизации: https://serverfault.com/questions/341985/remotely-use-root-over-ssh-for-unison