Вопрос Что означает «без пароля» в файле 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?


106
2018-04-18 01:12


происхождения




ответы:


Из страница руководства:

PermitRootLogin

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

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

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

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

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


127
2018-04-18 01:26



Не разрешить «Логин root» используя пароль Считается более сильная безопасность чем позволять это. Тем не менее, вы не должны входить в систему корень вообще, если не будет работать другой метод (sudo и т. д.). - david6
Как вы можете видеть, однако, пока man-страница указывает, что по умолчанию «да», Ubuntu сделал по умолчанию «без пароля». - ferrouswheel
Так without-password означает, что все методы разрешены кроме пароля? Это действительно звучит как «разрешено логин без необходимости пароля». - Gauthier
«Все права доступа root должны быть облегчены с помощью локального входа с уникальным идентификационным идентификатором пользователя, а затем через команду su после локальной аутентификации. Прямой вход в корневой каталог крайне небезопасен и мало подходит для отслеживания аудита для отчетности». - Руководство для IBM AIX CIS - Dominik Antal
PermitRootLogin now accepts an argument of 'prohibit-password' as a less-ambiguous synonym of 'without-password'. - endolith


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

15
2017-11-15 17:34



В моем кратком опыте, даже устанавливая это для no не будет PermitRootLogin without-password на самом деле работать, как-то! :( - cregox
@cregox, если вы используете обычную настольную систему, вам нужно сделать ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip и он создает ~/.ssh/authorized_keys помните, если вы не можете войти в систему как root, вы бы не создали этот файл в /root/.ssh/, но он работает, если вы скопируете файл там - Rutrus


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

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


3
2018-01-17 20:26



Не будет входить в систему с обычным пользователем (скорее всего, с использованием криптографических ключей) и иметь его в sudo группа также позволяет вам это делать? - NS du Toit


В новых версиях sshd «без пароля» было изменено на «запрет-пароль».

Обе версии работают, возможно, лучше всего использовать «запретить пароль», если вы можете: он лучше объясняет.


0
2018-03-22 23:12