sshd_config
PermitRootLogin
Параметр PermitRootLogin у конфігураційному файлі SSH (/etc/ssh/sshd_config) визначає, чи дозволено вхід на сервер по SSH безпосередньо під користувачем root.
Формат:
PermitRootLogin yes|no|prohibit-password|without-password|forced-commands-onlyЗначення:
yes
Дозволяє прямий вхід по SSH під root (з паролем або ключем). Небезпечно.
no
Забороняє будь-який вхід під root через SSH.
prohibit-password
Забороняє вхід з використанням пароля, але дозволяє вхід з ключем SSH. (заміна without-password з OpenSSH 7.0+)
without-password
Те саме, що prohibit-password (застаріле, але ще підтримується).
forced-commands-only
Дозволяє root входити лише якщо ключ має примусову команду (command="..." у authorized_keys).
Приклад:
PermitRootLogin prohibit-passwordRoot зможе заходити лише за наявності SSH-ключа. Пароль не приймається.
Безпечна практика
Рекомендується:
PermitRootLogin prohibit-passwordабо повністюno.Краще:
Відключити root-доступ по SSH (
PermitRootLogin no)Використовувати звичайного користувача з правами
sudoОбов'язково використовувати SSH-ключі замість пароля
Перевірка / застосування змін:
Після редагування sshd_config, перевір синтаксис:
sshd -tІ перезапусти службу:
systemctl restart sshPasswordAuthentication
Параметр PasswordAuthentication у конфігураційному файлі SSH (/etc/ssh/sshd_config) визначає, чи дозволено автентифікацію за паролем для SSH-клієнтів.
Формат:
PasswordAuthentication yes|noЗначення:
yes
Дозволяє автентифікацію за паролем. Користувачі можуть входити, вводячи свій пароль.
no
Забороняє автентифікацію за паролем. Тільки ключі SSH або інші методи (наприклад, GSSAPI, Kerberos).
Приклад:
PasswordAuthentication noЦе означає, що всі спроби входу з паролем будуть відхилені. Користувач повинен мати SSH-ключ.
Взаємодія з іншими параметрами:
PermitRootLogin: якщо дозволений доступ root, тоPasswordAuthenticationконтролює, чи можна входити root'ом з паролем.ChallengeResponseAuthentication: має бути тежno, якщо ти хочеш повністю вимкнути всі паролі.UsePAM: якщо ввімкнено (yes), PAM може впливати на поведінкуPasswordAuthentication.
Безпечна практика:
В безпечному серверному середовищі рекомендується:
PasswordAuthentication no PermitRootLogin prohibit-passwordЦе означає:
Вхід тільки за допомогою SSH-ключів
Навіть root не зможе зайти по паролю
Інші користувачі — лише з ключами
Після змін:
sshd -t # перевірка синтаксису
systemctl restart sshХочеш приклад повністю захищеного фрагмента sshd_config з ключовими параметрами?
Last updated