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

99

Я только что установил 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?

    
задан John 18.04.2014 в 03:12
источник

3 ответа

117

На странице manpage :

  

PermitRootLogin

     

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

     

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

     

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

     

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

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

    
ответ дан Florian Diesch 18.04.2014 в 03:26
источник
15

На самом деле этот параметр почти ничего не делает, если вы используете аутентификацию 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
    
ответ дан Atari911 15.11.2014 в 18:34
источник
3

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

Вот пример использования унисона для синхронизации: Ссылка     

ответ дан Gwyneth Llewelyn 17.01.2015 в 21:26
источник

Ознакомьтесь с другими вопросами по меткам